Il dizionario (dict) in Python

Il dizionario (dict) in Python è una struttura dati che mappa chiavi uniche a valori, permettendo di accedere ai valori tramite le chiavi in modo efficiente. Vediamo un riassunto e alcuni esempi per comprendere meglio le operazioni principali che si possono eseguire sui dizionari.

Creazione di un dizionario

Un dizionario si crea con la sintassi {chiave: valore, ...}, dove ogni coppia chiave-valore è separata da due punti. È possibile utilizzare il costruttore dict() per crearne uno anche a partire da un altro dizionario.

Esempio 1: Creazione di un dizionario direttamente

persona = {"nome": "Luca", "cognome": "Rossi", "eta": 25}
print(persona)

Output:

{'nome': 'Luca', 'cognome': 'Rossi', 'eta': 25}

Esempio 2: Creazione di un dizionario tramite dict()

persona = dict({"nome": "Luca", "cognome": "Rossi", "eta": 25})
print(persona)

Output:

{'nome': 'Luca', 'cognome': 'Rossi', 'eta': 25}

Creazione di un dizionario con chiavi di tipo diverso

Un dizionario può contenere chiavi di tipi diversi (numeri, stringhe, liste, ecc.).

Esempio 3:

Dict = {1: 'Luca', 2: 'Andrea', 3: 'Mario'}
print(Dict)

Output:

{1: 'Luca', 2: 'Andrea', 3: 'Mario'}

Esempio 4: Chiavi miste

Dict = {'Nome': 'Luca', 1: [1, 2, 3, 4]}
print(Dict)

Output:

{'Nome': 'Luca', 1: [1, 2, 3, 4]}

Metodi principali per lavorare con i dizionari

1. Copiare un dizionario

Per copiare un dizionario, si utilizza il metodo copy(), poiché l’operatore = copia solo il riferimento e non i dati effettivi.

Esempio:

persona2 = persona.copy()
print(persona2)

Output:

{'nome': 'Luca', 'cognome': 'Rossi', 'eta': 25}

2. Visualizzare un dizionario

Un dizionario può essere visualizzato direttamente con print().

Esempio:

print(persona)

Output:

{'nome': 'Luca', 'cognome': 'Rossi', 'eta': 25}

3. Accedere a un elemento tramite chiave

Il valore associato a una chiave si ottiene utilizzando persona["chiave"] o il metodo get().

Esempio con chiave:

print(persona["cognome"])  # Output: Rossi

Esempio con get():

print(persona.get("cognome"))  # Output: Rossi

4. Aggiungere o modificare una chiave

Puoi aggiungere o modificare una chiave nel dizionario utilizzando la sintassi persona["chiave"] = valore o il metodo update().

Esempio 1:

persona["colore"] = "blu"
print(persona)

Output:

{'nome': 'Luca', 'cognome': 'Rossi', 'eta': 25, 'colore': 'blu'}

Esempio 2 con update():

persona.update({"colore": "verde"})
print(persona)

Output:

{'nome': 'Luca', 'cognome': 'Rossi', 'eta': 25, 'colore': 'verde'}

5. Verificare se una chiave esiste

Puoi verificare se una chiave esiste nel dizionario con l’operatore in.

Esempio:

print("nome" in persona)  # Output: True

6. Rimuovere un elemento da un dizionario

Ci sono vari modi per rimuovere un elemento: pop(), popitem(), clear(), del.

Esempio con pop():

x = persona.pop("nome")
print(persona)  # Output: {'cognome': 'Rossi', 'eta': 25}
print("Valore associato alla chiave:", x)  # Output: Luca

Esempio con popitem() (rimuove l’ultimo elemento):

x = persona.popitem()
print(persona)  # Output: {'nome': 'Luca', 'cognome': 'Rossi'}
print(x)  # Output: ('eta', 25)

Esempio con clear():

persona.clear()
print(persona)  # Output: {}

Esempio con del:

del(persona["nome"])
print(persona)  # Output: {'cognome': 'Rossi', 'eta': 25}

7. Estrarre chiavi, valori e coppie chiave-valore

  • keys() restituisce tutte le chiavi.
  • values() restituisce tutti i valori.
  • items() restituisce tutte le coppie chiave-valore.

Esempio:

print(persona.keys())   # Output: dict_keys(['nome', 'cognome', 'eta'])
print(persona.values()) # Output: dict_values(['Luca', 'Rossi', 25])
print(persona.items())  # Output: dict_items([('nome', 'Luca'), ('cognome', 'Rossi'), ('eta', 25)])

Ecco il completamento della spiegazione sui dizionari in Python:

2.11. Estrazione degli elementi da un dict

Ci sono diverse possibilità per estrarre o visualizzare i dati in un dizionario. Per esempio, si può utilizzare il costrutto in per iterare sulle chiavi e sui valori.

Esempio 1: Visualizzare le chiavi

persona = {"nome": "Luca", "cognome": "Rossi", "eta": 25}
for x in persona:
    print(x)

Output:

nome
cognome
eta

Esempio 2: Visualizzare i valori

persona = {"nome": "Luca", "cognome": "Rossi", "eta": 25}
for x in persona:
    print(persona[x])

Output:

Luca
Rossi
25

Esempio 3: Visualizzare le chiavi con il metodo keys()

persona = {"nome": "Luca", "cognome": "Rossi", "eta": 25}
for x in persona.keys():
    print(x)

Output:

nome
cognome
eta

Esempio 4: Visualizzare i valori con il metodo values()

persona = {"nome": "Luca", "cognome": "Rossi", "eta": 25}
for x in persona.values():
    print(x)

Output:

Luca
Rossi
25

Esempio 5: Visualizzare chiavi e valori con il metodo items()

persona = {"nome": "Luca", "cognome": "Rossi", "eta": 25}
for chiave, valore in persona.items():
    print(f"{chiave}: {valore}")

Output:

nome: Luca
cognome: Rossi
eta: 25

2.12. Modificare un dict

Il dizionario può essere modificato aggiungendo, aggiornando o rimuovendo chiavi e valori.

2.12.1. Modificare un valore

Per modificare il valore associato a una chiave esistente, basta assegnare un nuovo valore alla chiave:

persona = {"nome": "Luca", "cognome": "Rossi", "eta": 25}
persona["eta"] = 26  # Modifica l'età
print(persona)

Output:

{'nome': 'Luca', 'cognome': 'Rossi', 'eta': 26}

2.12.2. Aggiungere un elemento

Per aggiungere un nuovo elemento, si può assegnare direttamente un valore a una nuova chiave:

persona = {"nome": "Luca", "cognome": "Rossi", "eta": 25}
persona["colore"] = "blu"
print(persona)

Output:

{'nome': 'Luca', 'cognome': 'Rossi', 'eta': 25, 'colore': 'blu'}

2.12.3. Aggiornare con un altro dizionario

Si può utilizzare il metodo update() per aggiungere o aggiornare più elementi da un altro dizionario:

persona = {"nome": "Luca", "cognome": "Rossi", "eta": 25}
caratteristiche = {"colore": "rosso", "animale": "gatto"}
persona.update(caratteristiche)
print(persona)

Output:

{'nome': 'Luca', 'cognome': 'Rossi', 'eta': 25, 'colore': 'rosso', 'animale': 'gatto'}

2.12.4. Rimuovere un elemento

Per rimuovere un elemento, si può usare il metodo pop() o il comando del:

persona = {"nome": "Luca", "cognome": "Rossi", "eta": 25}
persona.pop("eta")
print(persona)

Output:

{'nome': 'Luca', 'cognome': 'Rossi'}

Usando del:

persona = {"nome": "Luca", "cognome": "Rossi", "eta": 25}
del persona["eta"]
print(persona)

Output:

{'nome': 'Luca', 'cognome': 'Rossi'}

2.13. Dizionari annidati

Un dizionario può contenere altri dizionari come valori. Questo è utile quando si desidera organizzare i dati in modo gerarchico.

Esempio:

persona = {
    "nome": "Luca",
    "dati_personali": {
        "eta": 25,
        "cognome": "Rossi"
    }
}
print(persona["dati_personali"]["eta"])

Output:

25

2.14. Conclusioni

I dizionari in Python sono strutture dati versatili e molto potenti, ideali per l’archiviazione di dati associati a chiavi uniche. Grazie alla loro capacità di accedere ai dati tramite chiavi, permettono una gestione efficiente delle informazioni.

 

Torna in alto