
In Python, puoi ottenere l’elemento e l’indice (count) da oggetti iterabili come list e tuple in ciclo for con la funzione incorporata enumerate().
In questo articolo vengono descritti i seguenti contenuti.
- Vieni a usare enumera()
- Normale per ciclo
- ciclo per con enumera()
- Inizia l’indice da 1 con enumerate()
- Imposta passo con enumera()
Vedere gli articoli seguenti per ulteriori informazioni sul ciclo per e come utilizzare enumerate() e zip() insieme.
Vieni a usare enumera()
Normale per ciclo
l = ['Alice', 'Bob', 'Charlie']
for name in l:
print(name)
# Alice
# Bob
# Charlie
ciclo per con enumera()
Passando un oggetto iterabile a enumerate(), puoi ottenere index, element.
for i, name in enumerate(l):
print(i, name)
# 0 Alice
# 1 Bob
# 2 Charlie
Inizia l’indice da 1 con enumerate()
Come nell’esempio sopra, per la configurazione predefinita, l’indice di enumerate() inizia da 0.
Se vuoi iniziare da un altro numero, passa il numero al secondo argomento di enumerare().
Inizia da 1:
for i, name in enumerate(l, 1):
print(i, name)
# 1 Alice
# 2 Bob
# 3 Charlie
Inizia dall’altro numero:
for i, name in enumerate(l, 42):
print(i, name)
# 42 Alice
# 43 Bob
# 44 Charlie
Ad esempio, questo è utile quando si generano stringhe di numeri sequenziali a partire piuttosto da 1. È più intelligente passare il numero iniziale al secondo argomento di enumerate() che calcolare i + 1.
for i, name in enumerate(l, 1):
print('{:03}_{}'.format(i, name))
# 001_Alice
# 002_Bob
# 003_Charlie
Imposta passo con enumera()
Non ci sono argomenti come passo per specificare incremento per enumerare(), ma può essere fatto come segue.
step = 3
for i, name in enumerate(l):
print(i * step, name)
# 0 Alice
# 3 Bob
# 6 Charlie
