enumerate()

La funzione riceve come argomento una sequenza (stringhe, tuple, liste, iteratori, …) e restituisce un iteratore alle coppie costituite da un indice crescente e un elemento della sequenza

>>> z1 = (20, 40, 60)
>>> e1 = enumerate(z1)
>>> print(list(e1))
[(0, 20), (1, 40), (2, 60)]

>>> z2 = "arcobaleno"
>>> e2 = enumerate(z2)
>>> print(list(e1))
[(0, 'a'), (1, 'r'), (2, 'c'), (3, 'o'), (4, 'b'), (5, 'a'), (6, 'l'), (7, 'e'), (8, 'n'), (9, 'o')]

Si utilizza nei cicli for per associare un indice automatico a ognuno dei valori

z = (20, 40, 60)
for i, x in enumerate(z):
    print(i, ":", x)
0 : 20
1 : 40
2 : 60

start

L’indice associato da enumerate() parte normalmente da 0.
Può essere fornito un valore iniziale diverso come secondo argomento della funzione

  • enumerate(z, 1)
  • enumerate(z, start=1)
z = (20, 40, 60) 
for i, x in enumerate(z, start=1): 
    print(i, ":", x) 
1 : 20 
2 : 40 
3 : 60