Ottenere elementi e i loro indici in Python
Dall'oggetto iterabile è possibile estrarre non
solo gli elementi, ma anche i loro indici. A questo scopo
si utilizza la funzione enumerate. Nel
suo parametro specifichiamo l'oggetto iterabile
desiderato.
Esempio
Supponiamo di avere una lista lst:
lst = ['a', 'b', 'c']
Stampiamo da essa gli elementi con i loro
indici. Indichiamo la coppia elemento-indice
come una variabile item, che
cerceremo nell'oggetto passato alla funzione enumerate:
for item in enumerate(lst):
print(item)
Dopo l'esecuzione del codice verranno stampate delle tuple contenenti l'indice e l'elemento:
(0, 'a')
(1, 'b')
(2, 'c')
Esempio
Per ottenere separatamente gli elementi
e i loro indici, è possibile decomprimerli utilizzando
due variabili key e value:
for item in enumerate(lst):
key, value = item
print(key)
print(value)
print()
Risultato dell'esecuzione del codice:
0, 'a'
1, 'b'
2, 'c'
In forma abbreviata, gli indici e gli elementi
possono essere scritti direttamente nel blocco for:
for key, value in enumerate(lst):
print(key)
print(value)
print()
Compiti pratici
Data la lista:
tst = [8, 6, -4, 2, -1]
Stampate in console i valori degli elementi e i loro indici fino al primo numero negativo.
Data la lista:
tst = ['a', 'b', 'c', 'd', 'e']
Stampate in console i valori degli elementi e i loro indici:
'a1'
'b2'
'c3'
'd4'
'e5'
Data la lista:
tst = [1, 2, 3, 4, 5]
Elevate al quadrato gli elementi in posizione pari e al cubo quelli in posizione dispari.