Dizionari e Metodi dei Dizionari
I dizionari sono forse la struttura dati più versatile di Python. Memorizzano i dati come coppie chiave-valore e sono essenziali per 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 come Alex dimostra come utilizzare i dizionari per il nostro negozio di alimentari:
Creazione
I dizionari sono 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 è essenziale notare che le operazioni sono tipicamente condotte in base alle chiavi piuttosto che alla posizione.
Mutabilità (Modificabilità)
I dizionari sono mutabili, permettendo di aggiungere, aggiornare o rimuovere coppie chiave-valore dopo che il dizionario è stato creato;
Nota
Sebbene i dizionari consentano valori multipli, ogni chiave deve essere unica all'interno di un dizionario. Se una chiave viene ripetuta durante l'assegnazione, l'ultimo valore sovrascriverà il precedente, garantendo che ogni chiave abbia un solo valore corrispondente.
Esempi
Diamo un'occhiata a un semplice dizionario. Invece di usare numeri di indice, si accede agli elementi del dizionario attraverso le loro chiavi, che, in questo caso, sono i nomi degli articoli di drogheria.
# 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 per quanto riguarda i tipi di dati che possono memorizzare.
L'unica restrizione è che le chiavi devono essere di un tipo immutabile (non modificabile) (come strings
, numbers
o tuples
contenenti solo elementi immutabili). Questo assicura che la chiave rimanga invariata.
D'altra parte, i valori del dizionario possono essere di qualsiasi tipo e possono includere tipi mutabili (modificabili), come liste o altri dizionari.
Per 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 gamma di operazioni e metodi che facilitano la gestione efficiente dei dati. Ecco alcuni dei metodi più comunemente usati:
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 genererebbe un errore se la chiave non esiste.;update()
: aggiorna il dizionario con elementi da un altro dizionario o 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 usato quando si vuole mostrare che qualcosa è vuoto o non ha un risultato.
Applicazione di Esempio
Immagina di dover aggiornare il dizionario per un inventario nel tuo negozio di alimentari. Ecco come puoi farlo usando 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
Gestisci l'inventario di un negozio di alimentari usando un dizionario, dove ogni articolo è una coppia chiave-valore con il nome dell'articolo e i dettagli (ID prodotto e categoria).
-
Definisci un dizionario
grocery_inventory
per memorizzare le informazioni:- "Milk": (113, "Dairy")
- "Eggs": (116, "Dairy")
- "Bread": (117, "Bakery")
- "Apples": (141, "Produce")
-
Recupera i dettagli dell'articolo
"Bread"
dal dizionario e memorizzali nella variabilebread_details
. -
Aggiungi un nuovo articolo,
"Cookies"
, con ID prodotto143
e categoria"Bakery"
. -
Rimuovi l'articolo
"Eggs"
dal dizionario.
Requisiti di Output
- Stampa i dettagli di
"Bread"
:Details of Bread: <$bread_details>
. - Dopo aver aggiunto
"Cookies"
, stampa l'inventario aggiornato:Inventory after adding Cookies: <$grocery_inventory>
. - Dopo aver rimosso
"Eggs"
, stampa l'inventario aggiornato:Inventory after removing Eggs: <$grocery_inventory>
.
Soluzione
Grazie per i tuoi commenti!