Heim >Backend-Entwicklung >Python-Tutorial >Wie verbessert die Funktion „enumerate()' von Python die iterierbare Traversierung?
In Python ist die enumerate()-Funktion ein rätselhaftes Juwel, das Ihren iterierbaren Erkundungen einen Hauch von Erleuchtung verleiht. Was genau macht es? Schauen wir uns sein Konzept und seine Anwendungen genauer an.
Im Kern ist enumerate() ein iterativer Verschönerer. Es führt einen Zähler für eine Iterable ein und wandelt jedes Element in ein Tupel um, das den Zähler und das Element enthält. Diese Erweiterung bietet eine klare und prägnante Möglichkeit, Ihre Durchquerung durch das Iterierbare zu überwachen und Ihren Schleifenabenteuern eine numerische Dimension zu verleihen.
Betrachten Sie dieses einfache Beispiel:
elements = ('foo', 'bar', 'baz') for elem in elements: print(elem)
Dieser Code wird jeweils gedruckt Element des Tupels in der Reihenfolge:
foo bar baz
Wenn wir jedoch die Funktion enumerate() aufrufen, nimmt unsere Schleife eine neue Form an Form:
elements = ('foo', 'bar', 'baz') for count, elem in enumerate(elements): print(count, elem)
Die Ausgabe zeigt nun nicht nur die Elemente selbst, sondern auch ihre entsprechenden Zähler:
0 foo 1 bar 2 baz
Beachten Sie, wie jedes Tupel in zwei Variablen entpackt wird: row_number (der Zähler) und row (das Element).
Standardmäßig beginnt enumerate() mit der Zählung von 0. Sie haben jedoch die Flexibilität, eine Startzahl anzugeben, indem Sie ein zweites Ganzzahlargument angeben. Zum Beispiel:
for count, elem in enumerate(elements, 42): print(count, elem)
Dieser Code gibt Folgendes aus:
42 foo 43 bar 44 baz
Pythons angeborene Funktion enumerate() ist eine fein abgestimmte Maschine, aber wenn Sie abenteuerlustig sind, können Sie sie erneut verwenden -Implementieren Sie es mit itertools.count() oder einem manuellen Zählgenerator Funktion:
from itertools import count def enumerate(it, start=0): return zip(count(start), it)
oder
def enumerate(it, start=0): count = start for elem in it: yield (count, elem) count += 1
Diese benutzerdefinierten Implementierungen spiegeln den Ansatz von Python wider und bieten ein vielseitiges Werkzeug für Ihre Schleifenbemühungen.
Das obige ist der detaillierte Inhalt vonWie verbessert die Funktion „enumerate()' von Python die iterierbare Traversierung?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!