Python, Verwendung der Funktion enumerate(): Die Elemente und Indizes einer Liste ermitteln

Geschäft

Mit Pythons enumerate()-Funktion können Sie die Indexnummer (Anzahl, Reihenfolge) sowie die Elemente eines iterierbaren Objekts wie einer Liste oder eines Tupels in einer for-Schleife ermitteln.

Dieser Artikel erklärt die Grundlagen der Funktion enumerate().

  • Funktion zur Ermittlung des Index in einer for-Schleife: enumerate()
    • Normale for-Schleife
    • Für die Schleife mit der Funktion enumerate()
  • Beginnen Sie den Index der Funktion enumerate() bei 1 (ein Wert ungleich Null)
  • Geben Sie die Schrittweite an (Step)

Die Funktion enumerate() kann verwendet werden, um den Index in einer for-Schleife zu ermitteln.

Normale for-Schleife

l = ['Alice', 'Bob', 'Charlie']

for name in l:
    print(name)
# Alice
# Bob
# Charlie

Für die Schleife mit der Funktion enumerate()

Geben Sie ein iterierbares Objekt wie z. B. eine Liste als Argument der Funktion enumerate() an.

Sie können die Indexnummer und das Element in dieser Reihenfolge abrufen.

for i, name in enumerate(l):
    print(i, name)
# 0 Alice
# 1 Bob
# 2 Charlie

Beginnen Sie den Index der Funktion enumerate() bei 1 (ein Wert ungleich Null)

Wie im obigen Beispiel gezeigt, beginnt der Index der Funktion enumerate() standardmäßig bei 0.

Wenn Sie mit einer anderen Zahl als 0 beginnen wollen, geben Sie eine beliebige Anfangszahl als zweites Argument der Funktion enumerate() an.

Um von vorne zu beginnen, gehen Sie wie folgt vor.

for i, name in enumerate(l, 1):
    print(i, name)
# 1 Alice
# 2 Bob
# 3 Charlie

Sie können natürlich auch mit anderen Zahlen beginnen.

for i, name in enumerate(l, 42):
    print(i, name)
# 42 Alice
# 43 Bob
# 44 Charlie

Nützlich, wenn Sie eine fortlaufend nummerierte Zeichenkette erstellen wollen; es ist klüger, die Startnummer als zweites Argument der Funktion enumerate() anzugeben, als 'i+1' zu verwenden, um bei 1 zu beginnen.

for i, name in enumerate(l, 1):
    print('{:03}_{}'.format(i, name))
# 001_Alice
# 002_Bob
# 003_Charlie

Im folgenden Artikel finden Sie weitere Informationen über die Formatierungsfunktion, mit der Zahlen mit Nullen aufgefüllt werden können.

Geben Sie die Schrittweite an (Step)

In der Funktion enumerate() gibt es kein Argument für die Angabe des Inkrementierungsschritts, aber es kann wie folgt erreicht werden

step = 3
for i, name in enumerate(l):
    print(i * step, name)
# 0 Alice
# 3 Bob
# 6 Charlie
Copied title and URL