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.