In questa lezione studieremo il metodo get() di Python sui dizionari.
Il metodo Python get() restituisce il valore della chiave specificata, se presente nel dizionario. Se la chiave non esiste restituirà None (se get() viene utilizzato con un solo argomento).
La sintassi è la seguente:
d.get(key, value)
Dove:
key – rappresenta il nome della chiave dell’elemento da cui vogliamo restituire il valore
value – opzionale, è il valore da restituire se la chiave non viene trovata. Di default è None.
Esempio di utilizzo di get in Python
Vediamo un esempio di utilizzo molto semplice. Supponiamo di avere il seguente dizionario:
student = {'name': 'Cristina', 'age': 20, 'mail': 'info@codingcreativo.it'}
Dopo utilizziamo il metodo get su questo dizionario per stampare il nome dello studente.
print(student.get('name'))
Facciamo adesso la prova a stampare una chiave che non esiste:
print(student.get('surname'))
Se provate il codice nel compiler online che trovate al seguente link: https://www.codingcreativo.it/python-compiler-online/
potete notare che verrà restituito None.
Potremmo stampare un messaggio differente, come nel seguente esempio:
print(student.get('surname', 'Il cognome non è stato trovato'))
Utilizzo del metodo get innestato in Python
Facciamo adesso un altro esempio di utilizzo del metodo get sui dizionari in Python. In questo esempio utilizzeremo un dizionari dove la chiave è numerica mentre il valore è rappresentato da un altro dizionario.
Selezioniamo il nome di un solo studente.
students = {'1': {'name' : 'Cristina', 'age': 29, 'mail': 'info@codingcreativo.it'},'2': {'name' : 'Tom', 'age': 23, 'mail': 'info@prova.it'}}
student = students.get('1', {}).get('name')
print(student)
Adesso stampiamo tutti i nomi degli studenti con un ciclo, utilizzando sempre il metodo get() appena studiato:
students = {'1': {'name' : 'Cristina', 'age': 29, 'mail': 'info@codingcreativo.it'},'2': {'name' : 'Tom', 'age': 23, 'mail': 'info@prova.it'}}
for student in students.values():
print(student.get('name'))
E se volessimo stampare tutto?
Potremmo utilizzare 2 cicli for, come nell’esempio sotto:
students = {'1': {'name' : 'Cristina', 'age': 29, 'mail': 'info@codingcreativo.it'},'2': {'name' : 'Tom', 'age': 23, 'mail': 'info@prova.it'}}
for student_id, student_detail in students.items():
print("\nStudent Key:", student_id)
for key in student_detail:
print(key + ':', student_detail[key])
Provate queste soluzioni nel compilatore online che troverete a questo link: compiler python online. Il link si aprirà in una nuova pagina in modo da permetterti di scrivere il codice.
Conclusioni
In questa lezione abbiamo studiato il metodo get di Python e abbiamo visto come si può applicare ai nostri esercizi sui dizionari. Nelle prossime lezioni non mancheranno tanti altri esempi di utilizzo di questo metodo e di tanti altri.
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