Dizionari e Metodi dei Dizionari

I dizionari sono una delle strutture dati più potenti e flessibili di Python. Memorizzano le informazioni come coppie chiave-valore, permettendo un accesso rapidissimo ai dati e una gestione dinamica degli elementi.

Nel contesto del nostro negozio di alimentari, i dizionari sono perfetti per organizzare le informazioni sugli articoli, sui fornitori o su qualsiasi dato che debba essere modificato frequentemente.


🧱 Fondamenti dei Dizionari

📌 Creazione

Un dizionario si crea utilizzando le parentesi graffe {}, elencando le coppie chiave : valore.

inventory = { "Apples": 30, "Oranges": 18 }

📌 Ordinamento

I dizionari mantengono l’ordine di inserimento, ma l’accesso ai dati avviene tramite chiavi, non tramite indici.


📌 Mutabilità

I dizionari sono modificabili: è possibile aggiungere, aggiornare o eliminare elementi in qualunque momento.

⚠️ Le chiavi devono essere uniche. Se una chiave viene ripetuta, l’ultimo valore inserito sovrascrive il precedente.


🧪 Esempi

Accedere ai valori tramite chiavi:

groceryItems = {
    "Milk": 3.49,
    "Eggs": 2.99,
    "Bread": 1.99,
    "Apples": 0.99
}

print("Price of Milk:", groceryItems["Milk"])

Le chiavi devono essere immutabili (stringhe, numeri, tuple). I valori invece possono essere di qualsiasi tipo, anche mutabili.


🛠 Metodi Utili

.get()

Restituisce il valore associato alla chiave, oppure None se non esiste.

.update()

Aggiunge o modifica coppie chiave-valore a partire da un altro dizionario.

.pop()

Rimuove una chiave e restituisce il suo valore.


Compito

Gestire l’inventario del negozio utilizzando un dizionario, dove ogni articolo contiene:

  • ID prodotto
  • Categoria

🎯 Passaggi da completare

1️⃣ Definisci il dizionario grocery_inventory con questi elementi:

Articolo Dettagli
"Milk" (113, "Dairy")
"Eggs" (116, "Dairy")
"Bread" (117, "Bakery")
"Apples" (141, "Produce")

2️⃣ Recupera i dettagli di "Bread"

  • Memorizza il risultato in bread_details.

3️⃣ Aggiungi un nuovo articolo

  • "Cookies" → ID 143, categoria "Bakery"

4️⃣ Rimuovi "Eggs" dal dizionario mediante .pop().


📝 Requisiti di Output

  1. Details of Bread: <bread_details>

  2. Dopo aver aggiunto i cookies: Inventory after adding Cookies: <grocery_inventory>

  3. Dopo aver rimosso le uova: Inventory after removing Eggs: <grocery_inventory>