Capitolo 11 – Dizionari Python
Materiale originale a cura di Alfredo Di Fiore – megistone.it
Manuale completo:
vai all’indice del corso
I dizionari Python sono strutture dati mutabili basate su coppie chiave-valore e permettono di associare in modo efficiente un’informazione a un identificatore univoco.
11.1 Obiettivi formativi
- comprendere la struttura dei dizionari;
- distinguere chiavi e valori;
- accedere, inserire e modificare elementi;
- utilizzare i principali metodi dei dizionari;
- iterare correttamente su chiavi, valori e coppie.
11.2 Che cosa sono i dizionari Python
Un dizionario è una struttura dati che memorizza informazioni sotto forma di coppie chiave-valore.
Ogni chiave identifica in modo univoco un valore associato.
studente = {
"nome": "Luca",
"eta": 19,
"corso": "Informatica"
}
A differenza delle liste, i dizionari Python non sono basati su posizioni numeriche ma su chiavi.
11.3 Accesso ai valori
Per accedere a un valore si utilizza la chiave tra parentesi quadre.
studente = {"nome": "Luca", "eta": 19}
print(studente["nome"])
print(studente["eta"])
Questo approccio consente un accesso diretto e molto leggibile ai dati.
11.4 Inserimento e modifica
I dizionari Python sono mutabili, quindi è possibile aggiungere nuove coppie o modificare valori esistenti.
studente = {"nome": "Luca", "eta": 19}
studente["eta"] = 20
studente["citta"] = "Torino"
Dopo queste istruzioni, il dizionario conterrà una nuova chiave e un valore aggiornato.
Un dizionario è particolarmente utile quando si vogliono rappresentare entità descritte da attributi nominati.
11.5 Eliminazione di elementi
Gli elementi possono essere rimossi in vari modi.
studente = {"nome": "Luca", "eta": 19, "citta": "Torino"}
del studente["citta"]
In alternativa si possono usare metodi come pop().
eta = studente.pop("eta")
11.6 Metodi principali dei dizionari Python
| Metodo | Funzione | Esempio |
|---|---|---|
keys() |
restituisce le chiavi | d.keys() |
values() |
restituisce i valori | d.values() |
items() |
restituisce coppie chiave-valore | d.items() |
get() |
accede a una chiave in modo sicuro | d.get("nome") |
pop() |
rimuove una chiave e restituisce il valore | d.pop("eta") |
11.7 Iterazione sui dizionari Python
Si può iterare su chiavi, valori o coppie complete.
studente = {"nome": "Luca", "eta": 19, "corso": "Informatica"}
for chiave in studente:
print(chiave)
for valore in studente.values():
print(valore)
for chiave, valore in studente.items():
print(chiave, valore)
L’uso di items() è spesso il modo più completo e leggibile per scorrere il contenuto di un dizionario.
11.8 Chiavi valide
Le chiavi devono essere immutabili. Tipicamente si usano:
- stringhe;
- numeri;
- tuple.
Non si possono usare come chiavi strutture mutabili come liste o altri dizionari.
Molti studenti pensano che un dizionario sia “ordinato come una lista”. In realtà l’accesso avviene tramite chiave, non per posizione.
11.9 Riepilogo
- i dizionari Python memorizzano coppie chiave-valore;
- sono mutabili;
- consentono accesso diretto tramite chiave;
- dispongono di metodi come
keys(),values(),items()eget(); - sono ideali per rappresentare oggetti descritti da attributi.
11.10 Domande tipiche d’esame
- Che differenza c’è tra lista e dizionario?
- Che cosa rappresentano chiavi e valori?
- A cosa serve il metodo
get()? - Come si itera su un dizionario?
- Perché le chiavi devono essere immutabili?
11.11 Esercizi
- Crea un dizionario che rappresenti uno studente con nome, età e classe.
- Stampa il valore associato alla chiave
nome. - Aggiungi una nuova chiave
citta. - Itera su tutte le coppie chiave-valore.
Approfondimento ufficiale:
documentazione Python sui dizionari