Dizionario Python (dict) per l’elaborazione dei cicli: keys(), values(), items()

Attività commerciale

Per scorrere gli elementi di un oggetto dizionario Python con un'istruzione for, usate il seguente metodo sull'oggetto dizionario, che può anche essere combinato con list() per ottenere una lista di tutte le chiavi e i valori nel dizionario.

  • keys():Per l'elaborazione del ciclo per ogni chiave dell'elemento
  • values():Per l'elaborazione del ciclo per ogni valore dell'elemento
  • items():Per l'elaborazione del ciclo per la chiave e il valore di ogni elemento

Il seguente oggetto dizionario è un esempio.

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

Le chiavi possono essere ottenute girando l'oggetto dizionario in una dichiarazione for così com'è.

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

keys(): Per l'elaborazione del ciclo per ogni chiave dell'elemento

Come menzionato sopra, le chiavi possono essere ottenute girando l'oggetto dizionario come in una dichiarazione for, ma si può anche usare il metodo keys().

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

Il metodo keys() restituisce la classe dict_keys. Se volete fare una lista, potete usare la funzione 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'>

DICT_KEYS è in grado di eseguire operazioni di set.

values(): Per l'elaborazione del ciclo per ogni valore dell'elemento

Se volete eseguire l'elaborazione for-loop per ogni valore dell'elemento, usate il metodo values().

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

Il metodo values() restituisce la classe dict_values. Se volete fare una lista, potete usare la funzione 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'>

Poiché i valori possono sovrapporsi, l'operazione set di dict_values non è supportata.

items(): Per l'elaborazione del ciclo per la chiave e il valore di ogni elemento

Se volete eseguire un processo for loop sia per la chiave che per il valore di ogni elemento, usate il metodo items().

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

(key, value)Così, può essere ricevuto come una tupla.

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 la classe dict_items. Se volete fare una lista, potete usare la funzione list(). Ogni elemento è una tupla.
(key, value)

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

DICT_ITEMS può anche eseguire operazioni di set.