In einer Python- for
Schleife, die eine Liste durchläuft, können wir schreiben:
for item in list:
print item
und es geht ordentlich durch alle Elemente in der Liste. Gibt es eine Möglichkeit, innerhalb der Schleife zu wissen, wie oft ich bisher eine Schleife durchgeführt habe? Zum Beispiel möchte ich eine Liste erstellen und nachdem ich zehn Elemente verarbeitet habe, möchte ich etwas damit tun.
Die Alternativen, über die ich nachgedacht habe, wären ungefähr:
count=0
for item in list:
print item
count +=1
if count % 10 == 0:
print 'did ten'
Oder:
for count in range(0,len(list)):
print list[count]
if count % 10 == 0:
print 'did ten'
Gibt es einen besseren Weg (genau wie den for item in list
), um die Anzahl der bisherigen Iterationen zu ermitteln?
Antworten:
Der pythonische Weg ist zu verwenden
enumerate
:quelle
Stimme Nick zu. Hier ist der Code ausführlicher.
Ich habe die Zählvariable in Ihrem Code auskommentiert.
quelle
enumerate
den optionalenstart
Parameter verwenden, um mit der Aufzählung mit 1 anstelle von 0 zu beginnen. Dann würde ich jedochcount
stattdessen den Namen des OP verwendenidx
.Ich kenne eine ziemlich alte Frage, aber ... bin auf eine andere Sache gestoßen, also gebe ich meinen Schuss:
quelle
Mit der Zip-Funktion können wir sowohl Element als auch Index erhalten.
Siehe auch :
Python.org
quelle
Versuchen Sie es mit
itertools.count([n])
quelle