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
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