I Dizionari in Python
Obiettivi della pillola
Alla fine di questa pillola saprai:
- creare e inizializzare dizionari (
dict); - accedere, aggiungere, modificare e rimuovere coppie chiave-valore;
- iterare su chiavi, valori e coppie;
- utilizzare metodi utili come
get,keys,values,items.
Cos’è un dizionario
Un dizionario è una struttura dati che associa a ogni chiave un valore.
È simile a un “vocabolario”: ogni parola (chiave) ha la sua definizione (valore).
In Python si definisce con le graffe { } usando la sintassi chiave: valore.
studente = {
"nome": "Luca",
"cognome": "Rossi",
"eta": 17
}
Nota: Le chiavi devono essere uniche e di tipo immutabile (stringhe, numeri, tuple). I valori possono essere di qualsiasi tipo.
Accesso ai valori
print(studente["nome"]) # Luca
print(studente["eta"]) # 17
Se accedi a una chiave inesistente, Python genera un errore.
Per evitarlo si usa get().
print(studente.get("classe", "non presente"))
# stampa "non presente"
Aggiungere e modificare
Aggiungere o modificare un elemento è molto semplice:
studente["classe"] = "5A" # aggiunge nuova coppia
studente["eta"] = 18 # modifica valore esistente
print(studente)
Rimuovere elementi
pop() e del
studente.pop("cognome") # rimuove chiave e restituisce il valore
del studente["classe"] # elimina chiave senza restituire
clear()
studente.clear() # svuota il dizionario
print(studente) # {}
Iterare su un dizionario
materie = {"italiano": 7, "matematica": 8, "informatica": 9}
# scorrere le chiavi
for k in materie:
print(k)
# scorrere i valori
for v in materie.values():
print(v)
# scorrere coppie chiave-valore
for k, v in materie.items():
print(k, "=", v)
Metodi utili
keys()→ restituisce tutte le chiavi.values()→ restituisce tutti i valori.items()→ restituisce coppie chiave-valore.update(dict2)→ aggiunge o aggiorna più coppie da un altro dizionario.
info = {"nome": "Luca"}
info.update({"eta": 18, "citta": "Torino"})
print(info) # {"nome": "Luca", "eta": 18, "citta": "Torino"}
Differenze con liste e set
- Le liste gestiscono collezioni ordinate di valori accessibili con un indice numerico.
- I set gestiscono insiemi di valori unici, senza ordine e senza indici.
- I dizionari associano a ogni chiave un valore, permettendo ricerche veloci.
lista = ["Luca", "Marco"]
insieme = {"Luca", "Marco"}
dizionario = {"studente1": "Luca", "studente2": "Marco"}
In breve: usa un dict quando hai bisogno di associare una chiave a un valore, come una “rubrica” o un “registro”.
EC