Le liste annidate sono liste che contengono altre liste al loro interno. Questa struttura permette di organizzare dati complessi e correlati in modo ordinato. È particolarmente utile quando ogni elemento deve racchiudere attributi multipli, come il nome, il prezzo, la quantità e la tipologia di un prodotto.
Per lavorare con queste strutture, si usa l’indicizzazione multipla:
Esempio:
grocery_list[2][1]
Qui:
grocery_list[2] seleziona l’elemento alla posizione 2 (la sottolista “milk”)[1] seleziona il suo prezzo.Un cliente ha organizzato la sua lista della spesa usando sottoliste per ogni prodotto. Ogni sottolista contiene:
Ecco il codice:
# Item details
bread = ["Bread", 4.80, 3, "Gluten Free"]
milk = ["Milk", 5.99, 2, "2% Milk"]
apple = ["Apple", 1.27, 12, "Fuji"]
# Main list containing all items
grocery_list = [bread, apple, milk]
print("Grocery List:" , grocery_list)
# Accessing item details
print("Item:", grocery_list[2][0])
print("Price:", grocery_list[2][1])
print("Quantity:", grocery_list[2][2])
print("Type:", grocery_list[2][3])
# Adding a new item
onion = ["Onions", 1.30, 10, "Yellow"]
grocery_list.append(onion)
# Removing an item
grocery_list.remove(bread)
# Sorting the list alphabetically
grocery_list.sort()
print("Updated Grocery List:", grocery_list)
Aggiornare l’inventario della sezione verdure seguendo questi passaggi:
Creare una lista iniziale:
vegetables = ["tomatoes", "potatoes", "onions"]
Rimuovere "onions".
Aggiungere "carrots" solo se non è già presente.
Aggiungere "cucumbers" solo se non è già presente.
Ordinare la lista alfabeticamente.
Stampare messaggi specifici se un elemento è già presente.
Stampare la lista finale con:
"Updated Vegetable Inventory:
Se l’elemento è già presente:
"Carrots are already in the list.""Cucumbers are already in the list."Lista finale:
Updated Vegetable Inventory: ['carrots', 'cucumbers', 'potatoes', 'tomatoes']
(ordine variabile in base ai dati)