Skip to content

Iterare un dizionario (chiave e valore) con un ciclo for in Python

Python

In Python, per iterare il dizionario (dict) con un ciclo for, usa i metodi keys(), values(), items(). Puoi anche ottenere un elenco di tutte le chiavi e valori nel dizionario con quei metodi e list().

  • Iterare le chiavi nel dizionario (dict):keys()
  • Iterare i valori nel dizionario (dict):values()
  • Iterare le coppie chiave-valore nel dizionario (dict):items()

Usa il seguente dizionario come esempio.

d = {'key1': 1, 'key2': 2, 'key3': 3}

Puoi scorrere le chiavi usando l’oggetto dizionario direttamente in un ciclo for.

for k in d:
    print(k)
# key1
# key2
# key3

Iterare le chiavi nel dizionario (dict):keys()

Come accennato in precedenza, puoi scorrere le chiavi usando direttamente l’oggetto dizionario, ma puoi anche usare keys(). Il risultato è lo stesso, ma keys() può chiarire l’intento al lettore del codice.

for k in d.keys():
    print(k)
# key1
# key2
# key3

Il metodo keys() restituisce dict_keys. Può essere convertito in una lista con list().

keys = d.keys()
print(keys)
print(type(keys))
# dict_keys(['key1', 'key2', 'key3'])
# <class 'dict_keys'>

k_list = list(d.keys())
print(k_list)
print(type(k_list))
# ['key1', 'key2', 'key3']
# <class 'list'>

È possibile utilizzare dict_keys per eseguire operazioni sugli insiemi. Vedere il seguente articolo per i dettagli.

Iterare i valori nel dizionario (dict):values()

Puoi scorrere i valori nel dizionario con il metodo values().

for v in d.values():
    print(v)
# 1
# 2
# 3

Il metodo values() restituisce dict_values. Può essere convertito in una lista con list().

values = d.values()
print(values)
print(type(values))
# dict_values([1, 2, 3])
# <class 'dict_values'>

v_list = list(d.values())
print(v_list)
print(type(v_list))
# [1, 2, 3]
# <class 'list'>

Iterare le coppie chiave-valore nel dizionario (dict):items()

Puoi scorrere le coppie chiave-valore nel dizionario con il metodo items().

for k, v in d.items():
    print(k, v)
# key1 1
# key2 2
# key3 3

Può anche essere ricevuto come una tupla di (chiave, valore).

for t in d.items():
    print(t)
    print(type(t))
    print(t[0])
    print(t[1])
    print('---')
# ('key1', 1)
# <class 'tuple'>
# key1
# 1
# ---
# ('key2', 2)
# <class 'tuple'>
# key2
# 2
# ---
# ('key3', 3)
# <class 'tuple'>
# key3
# 3
# ---

Il metodo items() restituisce dict_items. Può essere convertito in una lista con list().

items = d.items()
print(items)
print(type(items))
# dict_items([('key1', 1), ('key2', 2), ('key3', 3)])
# <class 'dict_items'>

i_list = list(d.items())
print(i_list)
print(type(i_list))
# [('key1', 1), ('key2', 2), ('key3', 3)]
# <class 'list'>

print(i_list[0])
print(type(i_list[0]))
# ('key1', 1)
# <class 'tuple'>

Puoi anche usare dict_items per eseguire operazioni sugli insiemi. Vedere il seguente articolo per i dettagli.