06. Dizionari
Gestione del dizionario
Un dizionario (dict) è un tipo che contiene elementi (items) formati da una chiave (key) e un valore (value). Una volta che il dizionario è creato e valorizzato con un insieme di coppie <chiave, valore>, si può usare la chiave (che deve essere univoca) per ottenere il valore corrispondente.
Esempio:
Codice sorgente
d = {"m.rossi@gmail.com": "Mario Rossi",
"a.falchi@libero.it": "Anna Falchi",
"g.verdi@hotmail.com": "Giuseppe Verdi"}
print(d["a.falchi@libero.it"])
# la chiave non esiste. inserisce un nuovo elemento
d["a.venditti@gmail.com"] = "Antonello Venditti"
# la chiave esiste. aggiorna l'elemento
d["a.falchi@libero.it"] = "Anna Maria Falchi"
print(d)
Esecuzione:
Anna Falchi
{'m.rossi@gmail.com': 'Mario Rossi', 'a.falchi@libero.it':
'Anna Maria Falchi', 'g.verdi@hotmail.com': 'Giuseppe Verdi',
'a.venditti@gmail.com': 'Antonello Venditti'}
Note:
L'istruzione print(d["a.falchi@libero.it"]) stampa il valore associato alla chiave "a.falchi@libero.it" nel dizionario d
L'istruzione print(d) produce la stampa dell'intero dizionario d.
Dizionari innestati
Esempio:
Codice sorgente
myfamily = {
"child1": {
"name": "Emil",
"year": 2004
},
"child2": {
"name": "Tobias",
"year": 2007
},
"child3": {
"name": "Linus",
"year": 2011
}
}
print(myfamily)
Esecuzione:
{'child1': {'name': 'Emil', 'year': 2004}, 'child2': {'name': 'Tobias', 'year': 2007}, 'child3': {'name': 'Linus', 'year': 2011}}
Note:
Il valore di ciascuno degli items del dizionario myfamily è a sua volta un dizionario
Esempio (continua):
Codice sorgente
myfamily["child4"] = {
"name": "Mila",
"year": 2012
}
print(myfamily)
Esecuzione:
{'child1': {'name': 'Emil', 'year': 2004}, 'child2': {'name': 'Tobias', 'year': 2007}, 'child3': {'name': 'Linus', 'year': 2011}, 'child4': {'name': 'Mila', 'year': 2012}}
Note:
La chiave "child4" non era presente nel dizionario, pertanto l'assegnazione determina l'inserimento di un nuovo item nel dizionario
Esempio (continua):
Codice sorgente
print(myfamily["child3"])
print(myfamily["child3"]["name"])
Esecuzione:
{'name': 'Linus', 'year': 2011}
Linus
Note:
L'istruzione print(myfamily["child3"]) stampa il valore dell'item con chiave "child3"
L'istruzione print(myfamily["child3"]["name"]) si comprende considerando che la chiave "name" si applica all'item stampato in precedenza
Sito: 7ecnologie
Sezione: 09. Python
Capitolo: 02. Introduzione a Python
Paragrafo: 06. Dizionari
Indice dei capitoli: 00. Risorse - 01. Ambiente di sviluppo - 02. Introduzione a Python - 03. Accesso al DB - 04. La libreria tkinter - 05. Tutorial - 98. Esercizi
Indice dei paragrafi: 01. Primi passi - 02. Funzioni input() e print() - 03. Liste - 04. Tuple - 05. Operatori e conversione di tipi - 06. Dizionari - 07. Insiemi - 08. Il ciclo for - 09. Gestione delle eccezioni - 10. Definizione di funzioni - 11. Parametri delle funzioni