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
8 – Errori in Python
9 – Script Python
10 – Scambio di variabili
11 – Modulo math