HOWTO · Python

Enumera dizionario in Python

Questo tutorial mostra come usare la funzione enumerate con un dizionario in Python

In questa pagina

La funzione enumerate() in Python restituisce un oggetto di tipo enumerate e aggiunge una variabile contatore per iterare su una lista o su qualche altro tipo di raccolta. Rende più facile il loop su tali oggetti.

Possiamo vedere il contenuto di un oggetto enumerato quando lo passiamo alla funzione list(). Per esempio:

l = ["a", "b", "c"]
print(list(enumerate(l)))

Produzione:

[(0, 'a'), (1, 'b'), (2, 'c')]

Possiamo anche usare la funzione enumerate() anche con i dizionari.

L’esempio seguente mostra un esempio elementare.

d1 = {"a": 15, "b": 18, "c": 20}

for i, j in enumerate(d1):
    print(i, j)

Produzione:

0 a
1 b
2 c

Si noti che abbiamo passato direttamente il dizionario alla funzione enumerate() e ha assegnato la variabile counter solo alle chiavi del dizionario e non ai valori. Quindi, quando iteriamo su questo oggetto, potremmo accedere solo alla variabile counter e alle chiavi del dizionario.

Per enumerare sia le chiavi che i valori, possiamo usare il metodo del dizionario items(). Il metodo items() restituisce un oggetto con le coppie chiave-valore come tuple. Il seguente esempio mostra come possiamo usare il metodo items() con la funzione enumerate() e accedere sia alla chiave che al suo valore corrispondente.

d1 = {"a": 15, "b": 18, "c": 20}

for i, (j, k) in enumerate(d1.items()):
    print(i, j, k)

Produzione:

0 a 15
1 b 18
2 c 20

Se vogliamo solo gli elementi del dizionario senza le loro chiavi, possiamo usare la funzione values(). Restituisce una lista contenente i valori del dizionario.

Il codice seguente mostra come:

d1 = {"a": 15, "b": 18, "c": 20}

for i, j in enumerate(d1.values()):
    print(i, j)

Produzione:

0 15
1 18
2 20