Il metodo items() sui dizionari in Python è utilizzato per restituire l’elenco con tutte le chiavi del dizionario con valori.

Questo metodo non accetta parametri, dunque la sintassi è molto semplice: d.items(), dove d rappresenta il dizionario.

Il metodo items(), dunque, restituisce un oggetto che mostra un elenco di coppie di tuple (chiave, valore) di un dizionario.

items Python – primo esempio

In questo primo semplice esempio stampiamo le coppie di tuple (chiave, valore) sul dizionario student, che contiene i dati di uno studente.


student = {
'name': 'Cristina', 'age': 20, 'mail': 'info@codingcreativo.it'
}

print(student.items())

L’output sarà rappresentato da questo oggetto che contiene le coppie di tuple:

dict_items([('name', 'Cristina'), ('age', 20), ('mail', 'info@codingcreativo.it')])

L’ordine potrebbe anche essere diverso.

items Python – secondo esempio

Proviamo adesso con un dizionario i cui valori sono a loro volta dei dizionari. Il dizionario students che contiene i dati di 2 studenti.

Vogliamo utilizzare il metodo items() di Python su tutto il dizionario. Quale sarà il risultato?


students = {
'1': {'name' : 'Cristina', 'age': 29, 'mail': 'info@codingcreativo.it'},
'2': {'name' : 'Tom', 'age': 23, 'mail': 'info@prova.it'}
}

print(students.items())

L’output generato sarà questo:

dict_items([('1', {'name': 'Cristina', 'age': 29, 'mail': 'info@codingcreativo.it'}), ('2', {'name': 'Tom', 'age': 23, 'mail': 'info@prova.it'})])

Provate il seguente codice nel compiler online che trovate al seguente link: compiler Python online.

items Python – terzo esempio

Adesso vogliamo utilizzare il metodo items sui dizionari interni. Come possiamo fare?

Per poter utilizzare il metodo items, a tale scopo, dobbiamo dapprima selezionare la chiave di cui vogliamo ottenere le coppie di tuple. Poi possiamo applicare il metodo.

Ecco dunque una possibile soluzione all’algoritmo proposto:


students = {
'1': {'name' : 'Cristina', 'age': 29, 'mail': 'info@codingcreativo.it'},
'2': {'name' : 'Tom', 'age': 23, 'mail': 'info@prova.it'}
}

student = students.get('1', {}).items()
print(student)

In questo caso l’output generato sarà questo:

dict_items([('name', 'Cristina'), ('age', 29), ('mail', 'info@codingcreativo.it')])

Questo se i dizionari sono uguali, ma se i valori delle chiavi 1 e 2 sono rappresentati da dizionari diversi?



''' 
Esempio con chiavi diverse
'''
students = {
'1': {'name' : 'Cristina', 'age': 29, 'mail': 'info@codingcreativo.it'},
'2': {'exam' : 'English', 'vote': 30}
}

for student in students.values():
  print(student.items())

In questo caso l’output sarà il seguente:

dict_items([('name', 'Cristina'), ('age', 29), ('mail', 'info@codingcreativo.it')])
dict_items([('exam', 'English'), ('vote', 30)])

Conclusione

In questa lezione abbiamo realizzato alcuni semplici esempi di utilizzo del metodo items() in Python sui dizionari. Nella prossima lezioni vedremo cosa succede se eliminiamo o aggiungiamo elementi ad un dizionario.

Alcuni link utili

Indice tutorial sul linguaggio Python

1 – Introduzione al linguaggio Python

2 – Le variabili

3 – Operatori aritmetici e di assegnazione

4 – Stringhe

5 – Casting

6 – Input e print

7 – Primi esercizi in Python

8 – Errori in Python

9 – Script Python

10 – Scambio di variabili

11 – Modulo math