Dizionario in Python: come funzionano le liste associative?

Nel linguaggio di programmazione web Python, il dizionario è un tipo di dato importante che può essere usato per collegare tra loro termini e significati. Utilizzando coppie chiave-valore, si possono creare molte tabelle, raccolte di dati o inventari. Un dizionario in Python può essere usato anche con i cicli for in Python, le istruzioni if else in Python e i cicli while in Python.

API di IONOS senza costi aggiuntivi

La nuova API supporta operazioni con cui puoi recuperare o aggiornare i dati relativi a domini, DNS e certificati SSL.

Gestione record DNS
Amministrazione SSL
Documentazione API

Cos’è un dizionario in Python?

Un dizionario in Python è un tipo di dato che collega termini e significati tra loro. In questa struttura, chiavi (keys) e valori (values) possono essere collegati, memorizzati e recuperati successivamente. A volte, viene usato il termine “lista associativa” per riferirsi a un dizionario in Python, ma quest’ultimo è quello più corretto. Infatti, come in un dizionario, in cui un termine è associato a una spiegazione o traduzione corrispondente, anche un dizionario in Python crea una tabella di associazioni che non può contenere duplicati. Ogni chiave, quindi, è presente una volta sola.

Dizionario in Python: struttura e interrogazione

Un dizionario in Python è sempre racchiuso tra parentesi graffe e può teoricamente contenere un numero qualsiasi di coppie chiave-valore. La chiave, messa tra virgolette, e il valore corrispondente sono collegati da due punti, mentre le coppie risultanti sono separate da virgole. Probabilmente avete già familiarità con questa notazione se avete seguito un tutorial su Python. Ad esempio, il codice si presenta così:

ages = {'Jim': 42, 'Jack': 13, 'John': 69}

Il dizionario in Python viene letto inserendo la chiave corretta tra parentesi quadre. Di seguito la relativa notazione:

age_jim = ages['Jim']
assert age_jim == 42

Esempio di dizionario in Python

La struttura e la funzione del dizionario in Python possono essere spiegate bene con un semplice esempio. Nella struttura seguente, i Paesi e le capitali devono essere assegnati e riprodotti. Il dizionario in Python si presenta così:

capitals = { "UK": "London", "FR": "Paris", "DE": "Berlin" }

Se desiderate interrogare un elemento specifico, utilizzate le parentesi quadre:

capitals["FR"]
assert capitals["FR"] == 'Paris'

Il risultato in questo caso sarebbe il valore appartenente alla chiave “FR”, cioè “Parigi”.

Struttura alternativa

In alternativa, è possibile creare un dizionario in Python senza contenuto e poi riempirlo. Per fare ciò, viene sempre creato prima un dizionario vuoto, che si presenta così:

capitals = { }

Ora riempite il dizionario:

capitals["UK"] = "London"
capitals["FR"] = "Paris"
capitals["DE"] = "Berlin"

Se ora interrogate il dizionario in Python “capitals”, otterrete il seguente risultato:

{ "UK": "London", "FR": "Paris", "DE": "Berlin" }

Modificare il dizionario in Python successivamente

Potete modificare il dizionario in Python anche in un secondo momento. Ad esempio, per aggiungere coppie chiave-valore, scrivete:

capitals[ "IT" ] = "Roma"
print(capitals)

Il risultato corrispondente è:

{ "UK": "London", "FR": "Paris", "DE": "Berlin", "IT": "Roma" }

Per modificare un valore all’interno di una coppia chiave-valore, utilizzate il codice seguente:

capitals = { "UK": "London", "FR": "Paris", "DE": "Berlin", "IT": "???" }
assert capitals["IT"] == "???"
capitals["IT"] = "Roma"
assert capitals["IT"] == "Roma"

Il risultato è quindi di nuovo:

{ "UK": "London", "FR": "Paris", "DE": "Berlin", "IT": "Roma" }

Rimuovere le coppie chiave-valore dal dizionario in Python

Per rimuovere successivamente una coppia chiave-valore dal dizionario Python, esistono tre possibilità: del, pop e popitem.

Rimozione con del

Un semplice inventario è adatto come esempio per il metodo del. Supponiamo che all’apertura un panificio offra 100 panini, 25 pagnotte e 20 cornetti. Il dizionario in Python corrispondente apparirebbe quindi così:

stock = { "rolls": 100, "breads": 25, "croissants": 20 }

Se la panetteria ora vende tutti i cornetti e vuole cancellarli dal suo elenco, utilizza il comando del:

del stock["croissants"]
print(stock)

Con questo metodo, tuttavia, dovete assicurarvi di usare sempre il comando del insieme a una coppia chiave-valore. Altrimenti, l’intero dizionario in Python verrà cancellato, un problema che si verifica abbastanza frequentemente.

Rimozione con pop

Il secondo metodo per rimuovere le coppie chiave-valore da un dizionario in Python è dato da pop. Il valore rimosso viene memorizzato in una nuova variabile. Il funzionamento è il seguente:

marbles = { "red": 13, "green": 19, "blue": 7, "yellow": 21}
red_marbles = marbles.pop("red")
print(f"We've removed {red_marbles} red marbles.")
print(f"Remaining marbles are: {marbles}")

Il risultato si presenta quindi come segue:

We've removed 13 red marbles.
Remaining marbles are: {'green': 19, 'blue': 7, 'yellow': 21}

Rimozione con popitem

Con popitem rimuovete l’ultima coppia chiave-valore dal dizionario in Python. Ne risulta il codice seguente:

last = marbles.popitem()
print(last)
print(marbles)

Il risultato si presenta quindi così:

('yellow', 21)
{ "Uno": 1, "Due": 2, "Tre": 3 }

Altri metodi per il dizionario in Python

Esistono diversi altri metodi che funzionano con un dizionario in Python. Di seguito vi presentiamo un elenco delle opzioni più importanti:

Metodo Descrizione
Clear clear rimuove tutte le coppie chiave-valore dal dizionario in Python.
Copy copy crea una copia del dizionario in memoria.
Get Con get, il valore è determinato dall’immissione della chiave.
Keys Con keys leggete le chiavi del dizionario.
Update Con update ampliate un dizionario in Python con un altro. Se ci sono chiavi duplicate, vengono sovrascritte nel dizionario allegato.
Values Con values interrogate tutti i valori del dizionario.