lettura facile

I dizionari in Python

Nel linguaggio Python i dizionari sono strutture dati che contengono coppie di chiave-valore. Ti consentono di ottenere una mappatura.

Per definire un dizionario devi indicare le coppie tra parentesi graffe separandole tra loro con una virgola.

dizionario = {'chiave1': 'valore1', 'chiave2': 'valore2', 'chiave3': 'valore3'}

Dove 'chiave1', 'chiave2' e 'chiave3' sono le chiavi, e 'valore1', 'valore2' e 'valore3' sono i loro corrispondenti valori.

Ogni chiave (key) è univoca e usata per recuperare il suo corrispondente valore.

Puoi creare un dizionario anche tramite la classe dict() passando un oggetto iterabile che contiene coppie di elementi. Ad esempio, utilizzando una lista di tuple:

dict([('chiave1', 'valore1'), ('chiave2', 'valore2')])

In alternativa, puoi usare la notazione chiave-valore:

dict(chiave1='valore1', chiave2='valore2')

In entrambi i casi, il dizionario viene formato mappando le chiavi specificate ai loro valori corrispondenti.

La ricerca nei dizionari Python avviene tramite chiave, poiché, a differenza di liste e tuple, i dizionari non mantengono un ordine specifico dei loro elementi. Puoi immaginare un dizionario come una sorta di rubrica telefonica dove inserisci i numeri di telefono dei tuoi amici. Quando devi chiamare una persona, scorri l'elenco per cercare il suo nome nella rubrica e trovi il suo numero di telefono. Un dizionario in Python funziona allo stesso modo.

Ecco un esempio pratico.

Definisci un dizionario nella variabile "country"

countries = {
'UK': 'United Kingdom',
'FR': 'France',
'DE': 'Germany',
}

Per accedere a un valore in un dizionario, usa la chiave corrispondente.

Ad esempio, per accedere alla chiave "DE" digita countries['DE']

print(countries['DE'])

Python cerca il valore 'DE' nel dizionaro "countries" e restituisce il valore corrispondente ossia "Germany"

Germany

Cosa accade se la chiave non esiste?

Se tenti di accedere a una chiave che non esiste nel dizionario, Python solleva un'eccezione `KeyError`.

Ad esempio, cerca di accedere alla chiave "IT".

print(countries['IT'])

Python non trova la chiave "IT" nel dizionario, restituendo un messaggio di errore.

KeyError: 'IT'

Per evitare questo problema, puoi usare il metodo get, che restituisce "None" o un valore predefinito se la chiave non esiste.

print(countries.get('IT'))

Anche in questo caso Python non trova la chiava ma restituisce "None".

None

Il metodo get ti permette anche di personalizzare il valore di ritorno delle ricerche con esito negativo.

Ad esempio digita un valore di default nel secondo parametro del metodo get().

print(countries.get('IT', 'non esiste'))

In questo caso, la ricerca non trova la chiave "IT" e restituisce il valore "non esiste".

non esiste

Come aggiungere o modificare un elemento nel dizionario?

I dizionari sono oggetti mutabili, il che significa che puoi aggiungere, rimuovere o cambiare elementi dopo la loro creazione.

Per aggiungere o modificare un elemento nel dizionario, puoi utilizzare l'operatore di assegnazione `=`:

Ecco un esempio pratico.

countries['IT'] = 'Italia'

Questo comando aggiunge la chiave "IT" e il suo valore associato "Italia" all'interno del dizionario.

Ora il dizionario è composto da 4 elementi.

print(countries)

{'UK': 'United Kingdom', 'FR': 'France', 'DE': 'Germany', 'IT': 'Italia'}

Con la stessa sintessi puoi modificare il valore associato a una chiave già esistente nel dizionario.

Ad esempio, modifica il valore della chiave "IT" da "Italia" a "Italy".

countries['IT'] = 'Italy'

Lo stesso comando ha modificato il valore della chiave esistente, senza aggiungere un altro elemento nel dizionario.

print(countries)

{'UK': 'United Kingdom', 'FR': 'France', 'DE': 'Germany', 'IT': 'Italy'}

Come rimuovere un elemento dal dizionario?

Per rimuovere un elemento da un dizionario, puoi utilizzare l'istruzione `del`:

del countries['IT']

Questo comando rimuove la chiave "IT" e il suo valore associato dal dizionario "countries".

print(countries)

{'UK': 'United Kingdom', 'FR': 'France', 'DE': 'Germany'}

In questo modo puoi cancellare qualsiasi chiave già esistente nel dizionario.

Python ti fornisce diversi metodi per operare con i dizionari. Ad esempio, il metodo keys() di permette di ottenere tutte le chiavi, il metodo values() tutti i valori e items() l'elenco di tutte le coppie chiave-valore come tuple. A ogni metodo dedicheremo un'apposita lezione-tutorial.




Se qualcosa non ti è chiaro, scrivi la tua domanda nei commenti.




FacebookTwitterLinkedinLinkedin