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.
- Verwandte Artikel:Ausgabe von ausgefüllten Nullen, hexadezimalen Zahlen usw. mit der Python-Funktion format()
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