@ EyDu: enumerate kannte ich nicht, ist aber praktisch. Habe häufiger die Situation, daß ich zwei Listen habe, deren Elemente zusammengehören, wenn sie die gleichen Indizies haben. Sowas:
Code: Alles auswählen
menge = [1,2,3,4]
zeichen = ["+", "-", "+", "+"]
for ding in menge
if zeichen[menge.index(ding)] == "-": print "oh no!"
Das geht mit enumerate übersichtlicher:
Code: Alles auswählen
for i, ding in enumerate(menge):
if zeichen[i] == "-": print "huch!"
was bei den Beispielen nicht so gut rüber kommt ist, daß von Anfang an über den Index gehen (mit "range(len(menge))") manchmal nicht so übersichtlich ist. Zum Beispiel wenn "menge" aus komplizierteren Dingen besteht als Integers, die man selbst wieder per index auswählt.
In jedem Fall ist enumerate praktisch, weil sozusagen die Iteration über den Index sowie die Index-freie Iteration über die Elemente gleichzeitig zur Verfügung stehen.