
In Python can SIE das Element und den Index (Anzahl) von iterierbaren Objekten wie Liste und Tupel in einer for-Schleife mit der integrierten Funktion enumerate() erhalten.
Dieser Artikel hat folgenden Inhalt.
- Verwendung von aufzählen()
- Normale For-Schleife
- for-Schleife mit enumerate()
- Starte Index bei 1 mit enumerate()
- Schritt setzen mit enumerate()
Weitere Informationen zur for-Schleife und zur gemeinsamen Verwendung von enumerate() und zip() finden Sie in den following Artikeln.
Verwendung von aufzählen()
Normale For-Schleife
l = ['Alice', 'Bob', 'Charlie']
for name in l:
print(name)
# Alice
# Bob
# Charlie
for-Schleife mit enumerate()
Indem Sie ein iterierbares Objekt an enumerate() übergeben, can SIE Index, Element erhalten.
for i, name in enumerate(l):
print(i, name)
# 0 Alice
# 1 Bob
# 2 Charlie
Starte Index bei 1 mit enumerate()
Wie im Beispiel beginnt der Index von enumerate() standardmäßig bei 0.
Wenn Sie mit einer anderen Zahl beginnen möchten, übergeben Sie die Zahl an das zweite Argument von enumerate().
Beginnen Sie bei 1:
for i, name in enumerate(l, 1):
print(i, name)
# 1 Alice
# 2 Bob
# 3 Charlie
Beginnen Sie bei der anderen Nummer:
for i, name in enumerate(l, 42):
print(i, name)
# 42 Alice
# 43 Bob
# 44 Charlie
Dies ist zum Beispiel nützlich, wenn Sie fortlaufende Zahlenketten beginnend bei 1 generieren. Es ist klüger, die Startnummer an das zweite Argument von enumerate() zu übergeben, als i + 1 zu berechnen.
for i, name in enumerate(l, 1):
print('{:03}_{}'.format(i, name))
# 001_Alice
# 002_Bob
# 003_Charlie
Schritt setzen mit enumerate()
Es gibt kein Argument wie step, um das Inkrement für enumerate() anzugeben, aber es kann wie folgt durchgeführt werden.
step = 3
for i, name in enumerate(l):
print(i * step, name)
# 0 Alice
# 3 Bob
# 6 Charlie