Corso
Il dizionario è una struttura dati integrata di Python ed è mutabile. È simile, per spirito, a List, Set e alle Tuple. Tuttavia, non è indicizzato da una sequenza di numeri, ma in base a delle chiavi e può essere inteso come un array associativo. A un livello astratto, è composto da una chiave con un valore associato. In Python, il dizionario rappresenta l’implementazione di una hash-table.
Cosa sono le chiavi?
Come mostrato nella figura qui sotto, le chiavi sono tipi di dato immutabili (che non possono essere modificati) e possono essere stringhe o numeri. Tuttavia, una chiave non può essere un tipo di dato mutabile, ad esempio una lista. Le chiavi sono uniche all’interno di un dizionario e non possono essere duplicate. Se una chiave viene usata più di una volta, le occorrenze successive sovrascriveranno il valore precedente.

La chiave si collega al valore, creando così una struttura a mappa. Per esempio, se rimuovi le chiavi dall’immagine, resterai con una struttura dati che contiene solo una sequenza di numeri. I dizionari, quindi, contengono a ogni posizione una coppia chiave: valore.
Un dizionario è rappresentato da una coppia di parentesi graffe {} al cui interno sono racchiuse le coppie chiave: valore separate da virgole.
Creare un dizionario
Sintassi
Come promemoria, ecco una “ricetta” per creare un dizionario:
my_dict = {
"key1":"value1",
"key2":"value2"
}
Nella sintassi sopra, sia le chiavi sia i valori sono stringhe.
Esempio di creazione di un dizionario
pop = [30.55, 2.77, 39.21]
countries = ["afghanistan", "albania", "algeria"]
Convertiamo i dati sulla popolazione in un dizionario. Per creare il dizionario, userai le parentesi graffe. Poi, tra le parentesi, inserirai una serie di coppie chiave:valore. In questo caso, le chiavi sono i nomi dei paesi e i valori sono le popolazioni corrispondenti.
La prima chiave è Afghanistan e il valore corrispondente è 30,55. Nota i due punti che separano la coppia chiave-valore. Facciamo lo stesso per le altre due coppie chiave:valore e salviamo il risultato nella variabile world.
Ora, per trovare la popolazione dell’Albania, ti basta digitare world e poi la stringa Albania tra parentesi quadre. In altre parole, passi la chiave tra parentesi quadre e ottieni il valore corrispondente.
world = {"afghanistan":30.55, "albania":2.77, "algeria":39.21}
world["albania"]
2.77
Questo approccio non è solo intuitivo, ma anche molto efficiente perché Python può cercare queste chiavi molto velocemente, anche per dizionari enormi.
Esempio interattivo di creazione di un dizionario
Nell’esempio seguente userai le stringhe in countries e capitals per creare un dizionario chiamato europe con 4 coppie chiave:valore. Qui countries saranno le chiavi e capitals i valori. Attenzione alle maiuscole! Assicurati di usare sempre i caratteri minuscoli. Infine, stampa europe per verificare che il risultato sia quello atteso.
# Definition of countries and capital
countries = ['spain', 'france', 'germany', 'norway']
capitals = ['madrid', 'paris', 'berlin', 'oslo']
# From string in countries and capitals, create dictionary europe
europe = {'spain':'madrid', 'france':'paris', 'germany':'berlin', 'norway':'oslo'}
# Print europe
print(europe)
Eseguendo il codice sopra, otterrai il seguente risultato:
{'norway': 'oslo', 'germany': 'berlin', 'france': 'paris', 'spain': 'madrid'}
Per saperne di più sui dizionari in Python, guarda questo video dal nostro corso Intermediate Python.
Questo contenuto è tratto dal corso Intermediate Python di DataCamp a cura di Hugo Bowne-Anderson.

