Enumera dizionario in Python

Manav Narula 30 marzo 2021
Enumera dizionario in Python

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
Autore: Manav Narula
Manav Narula avatar Manav Narula avatar

Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.

LinkedIn

Articolo correlato - Python Dictionary