Mir wurde immer gesagt, dass die integrierte enumerate
verwendet werden kann, wenn Sie Anzahl zählen und gleichzeitig durchlaufen müssen.Wie kann die Gesamtzahl beim Iterieren eines Generators korrekt berechnet werden?
Zum Beispiel ist dies ein gemeinsames Idiom in Python (Funktion gen
einen Generator zurückgibt):
for index, item in enumerate(gen()):
# Do something with item
# get the numbers consumed from generator
print("% number of items processed" % (index+1,))
Aber wenn der Generator gibt nichts zurück? z.B. enumerate(range(0))
ist die index
Variable nicht definiert.
Wir können index
Variable vor der for-Schleife definieren, aber gibt es noch mehr Pythonic-Lösung, die ich nicht bewusst war?
Ich bin nicht sicher, was ist so un-Pythonic über eine Variable zu initialisieren, die Sie beabsichtigen, später zu verwenden, . –