Я понимаю, что петли - плохая идея в python, и я должен их избегать.избегая циклов в python
Ну, у меня есть несколько из тех, кого я хочу избежать.
У меня есть список вещей с именем липида:
class bead:
x = 0
y = 0
z = 0
LID = 0
t = 0
class lipid:
h = bead()
b = bead()
t = bead()
LID = 0
и я делаю следующее (код ниже):
- инициализации 2d массив
h
собирается над всеми липидами и - определить, считаются ли они
U
или - , добавив значение к соответствующему
h
Как я могу избежать, по крайней мере, первого цикла?
1:
class h:
cU = 0
cD = 0
hU = 0
hD = 0
h = 0
for i in range(0,8):
hs.append([])
for j in range(0,8):
index = (i,j)
hn = h()
hs[i].append(hn)
2 и 3:
for LID in lipids:
l = lipids[LID]
up = l.h.z > l.t.z
X = (int)(l.b.x*8/L)
Y = (int)(l.b.y*8/L)
Z = (l.b.z)*0.5
if up:
hs[X][Y].hU += Z
hs[X][Y].cU += 1
else:
hs[X][Y].hD += Z
hs[X][Y].cD += 1
Кто сказал, что петли плохи? – ThiefMaster
'Я понимаю, что петли - плохая идея в питоне, и я должен избегать их.' - wat? Откуда у вас эта идея? Итерация поощряется по поводу рекурсии. Теперь довольно много * простых * 'for' циклов можно заменить синтаксическим сахаром (способы сделать то же самое с лучшим исходным кодом). Но это лучший способ писать циклы. – delnan