Dizionari e Metodi dei Dizionari
I dizionari sono probabilmente la struttura dati più versatile di Python. Memorizzano i dati come coppie chiave-valore e sono fondamentali nelle situazioni in cui i dati devono essere recuperati rapidamente e le modifiche sono frequenti.
Nel nostro scenario del negozio di alimentari, i dizionari potrebbero gestire in modo efficiente le informazioni sui fornitori, consentendo di accedere a ciascun fornitore tramite il suo nome o ID senza la necessità di cercare in un elenco.
Guarda mentre Alex dimostra come utilizzare i dizionari per il nostro negozio di alimentari:
Creazione
I dizionari vengono creati racchiudendo coppie chiave-valore separate da virgole tra parentesi graffe {}
.
python
Ordinamento
I dizionari preservano l'ordine di inserimento dei loro elementi, anche se è importante notare che le operazioni vengono generalmente eseguite in base alle chiavi piuttosto che alla posizione.
Mutabilità (Modificabilità)
I dizionari sono mutabili, consentendo di aggiungere, aggiornare o rimuovere coppie chiave-valore dopo la creazione del dizionario;
Nota
Sebbene i dizionari consentano valori multipli, ogni chiave deve essere univoca all'interno di un dizionario. Se una chiave viene ripetuta durante l'assegnazione, il valore più recente sovrascriverà il precedente, garantendo che ogni chiave abbia un solo valore corrispondente.
Esempi
Esaminiamo un semplice dizionario. Invece di utilizzare numeri di indice, si accede agli elementi del dizionario tramite le loro chiavi, che, in questo caso, sono i nomi degli articoli alimentari.
# Dictionary creation groceryItems = { "Milk": 3.49, "Eggs": 2.99, "Bread": 1.99, "Apples": 0.99 } # Extracting dictionary elements by their keys print("Price of Milk:", groceryItems["Milk"]) print("Price of Bread:", groceryItems["Bread"])
I dizionari in Python sono flessibili riguardo ai tipi di dati che possono memorizzare.
L'unica restrizione è che le chiavi devono essere di tipo immutabile (non modificabile) (come strings
, numbers
o tuples
contenenti solo elementi immutabili). Questo garantisce che la chiave rimanga invariata.
Al contrario, i valori del dizionario possono essere di qualsiasi tipo e possono includere tipi mutabili (modificabili), come liste o altri dizionari.
Ad esempio:
# A dictionary with various types of keys and values store_info = { "Store Name": "Grocery Galore", # String key and string value 42: "Inventory Count", # Integer key and string value ("Bread", "Milk"): [2.99, 1.59] # Tuple key and list value (prices of bread and milk) } # Extracting dictionary element (list) by its key (tuple) print("Data under key ('Bread', 'Milk'):", store_info[("Bread", "Milk")])
Metodi dei dizionari
I dizionari offrono una serie di operazioni e metodi che facilitano una gestione efficiente dei dati. Ecco alcuni dei metodi più comunemente utilizzati:
get()
: recupera il valore per una chiave specificata e se la chiave non viene trovata, restituisceNone
. Questo è diverso dall'uso delle parentesi quadre (ad esempio,grocery_items["Milk"]
), che genererebbero un errore se la chiave non esiste;update()
: aggiorna il dizionario con elementi provenienti da un altro dizionario o da un iterabile di coppie chiave-valore, sovrascrivendo le chiavi esistenti;pop()
: rimuove una chiave specificata e restituisce il valore corrispondente.
Nota
In Python,
None
è un valore speciale che significa "niente" o "nessun valore", ed è spesso utilizzato per indicare che qualcosa è vuoto o non ha un risultato.
Applicazione d'esempio
Immagina di dover aggiornare il dizionario per un inventario nel tuo negozio di alimentari. Ecco come puoi farlo utilizzando i metodi dei dizionari:
# Dictionary for a grocery store inventory inventory = { "Apples": 30, "Oranges": 18, "Bananas": 45 } # Get the count of Oranges print("Count of Oranges:", inventory.get("Oranges")) # Update inventory by adding a new item inventory.update({"Mangoes": 20}) print("Updated Inventory:", inventory) # You can also add a new item to the end of the dictionary like this inventory["Pineapples"] = 15 print("Updated Inventory:", inventory) # Remove Bananas from the inventory removed_item = inventory.pop("Bananas") print("Removed Item:", removed_item) print("Current Inventory:", inventory)
Swipe to start coding
Gestione dell'inventario di un negozio di alimentari utilizzando un dizionario, dove ogni articolo è una coppia chiave-valore composta dal nome dell’articolo e dai dettagli (ID prodotto e categoria).
-
Definire un dizionario
grocery_inventory
per memorizzare le informazioni:- "Milk": (113, "Dairy")
- "Eggs": (116, "Dairy")
- "Bread": (117, "Bakery")
- "Apples": (141, "Produce")
-
Recuperare i dettagli dell’articolo
"Bread"
dal dizionario e memorizzarli nella variabilebread_details
. -
Aggiungere un nuovo articolo,
"Cookies"
, con ID prodotto143
e categoria"Bakery"
. -
Rimuovere l’articolo
"Eggs"
dal dizionario.
Requisiti di output
- Stampare i dettagli di
"Bread"
:Details of Bread: <$bread_details>
. - Dopo aver aggiunto
"Cookies"
, stampare l’inventario aggiornato:Inventory after adding Cookies: <$grocery_inventory>
. - Dopo aver rimosso
"Eggs"
, stampare l’inventario aggiornato:Inventory after removing Eggs: <$grocery_inventory>
.
Soluzione
Grazie per i tuoi commenti!