Android

Python aufzählen

Python Enumerate Function - Python Quick Tips

Python Enumerate Function - Python Quick Tips

Inhaltsverzeichnis:

Anonim

enumerate() ist eine in Python integrierte Funktion, mit der Sie beim Durchlaufen von Iterables einen automatischen Zähler verwenden können.

Python-Funktion enumerate()

Die Funktion enumerate() hat folgende Form:

enumerate(iterable, start=0)

Die Funktion akzeptiert zwei Argumente:

  • iterable - Ein Objekt, das die Iteration unterstützt. start - Die Nummer, ab der der Zähler startet. Dieses Argument ist optional. Standardmäßig beginnt der Zähler bei 0.

enumerate() gibt ein Aufzählungsobjekt zurück, für das Sie die __next__() (oder next() in Python 2) aufrufen können, um ein Tupel __next__() das eine Anzahl und den aktuellen Wert der Iteration enthält.

Hier ist ein Beispiel, wie Sie mit list() eine Liste von Tupeln erstellen und eine Iterationsdatei durchlaufen:

directions = list(enumerate(directions)) for index, value in enumerate(directions): print("{}: {}".format(index, value))

0: north 1: east 2: south 3: west

Wenn die nullbasierte Indizierung bei Ihnen nicht funktioniert, wählen Sie einen anderen Startindex für die Aufzählung:

directions = list(enumerate(directions, 1))

Die Funktion enumerate() kann für jedes wiederholbare Objekt verwendet werden. Ein iterierbares Objekt ist ein Container, über den iteriert werden kann. In einfachen Worten ausgedrückt, bedeutet dies ein Objekt, das Sie mit einer for Schleife durchlaufen können. Die meisten in Python integrierten Objekte wie Strings, Listen und Tupel sind iterabel.

Schreiben Sie mehr Pythonic Code mit enumerate()

Die for Schleife von Python unterscheidet sich grundlegend von der traditionellen for Schleife im C-Stil, die in vielen Programmiersprachen verfügbar ist. Die for Schleife in Python entspricht der foreach Schleife anderer Sprachen.

Eine übliche Technik, die von neuen Python-Entwicklern verwendet wird, um den entsprechenden Index zu erhalten, wenn es um Iterables geht, besteht darin, entweder das range(len(…)) Muster range(len(…)) zu verwenden oder einen Zähler zu setzen und zu erhöhen:

planets = for i in range(len(planets)): print("Planet {}: {}".format(i, planets))

planets = i = 0 for planet in planets: print("Planet {}: {}".format(i, planet)) i += 1

Die obigen Schleifen können mit enumerate() idiomatischer umgeschrieben werden:

planets = for index, value in enumerate(planets): print("Planet {}: {}".format(index, value))

Alle Methoden erzeugen die gleiche Ausgabe:

Planet 0: Mercury Planet 1: Venus Planet 2: Earth Planet 3: Mars Planet 4: Jupiter Planet 5: Saturn Planet 6: Uranus Planet 7: Neptune

Fazit

Wir haben Ihnen gezeigt, wie Sie die enumerate() -Funktion von Python verwenden.

Python