In questo capitolo esploriamo le tuple, una struttura dati fondamentale di Python ideale per rappresentare sequenze immutabili: una volta create, non possono essere modificate. Sono perfette nel contesto del nostro negozio di alimentari, quando vogliamo mantenere informazioni stabili come ID dei prodotti, categorie del negozio o dettagli che non devono cambiare durante l’esecuzione del programma.
Le tuple sono simili alle liste ma con una grande differenza: 👉 non possono essere modificate dopo la creazione.
Questo le rende preziose quando l’integrità dei dati è essenziale.
Si creano usando parentesi tonde:
("Produce", "Dairy", "Bakery")
Gli elementi mantengono l’ordine originale e non possono essere riordinati internamente.
Non puoi aggiungere, rimuovere o modificare elementi.
Come nelle liste, possono essere presenti elementi ripetuti.
# Define a tuple with grocery store categories
grocery_aisles = ("Produce", "Dairy", "Bakery", "Meat", "Frozen Foods")
# Display a tuple on the screen
print("Grocery Aisles:", grocery_aisles)
# Define a tuple with multiple data types
apple_details = ("apple", 34, True, 1.99, "Fuji")
print("Apple Type:", apple_details[4])
Le tuple sono immutabili, ma gli oggetti mutabili al loro interno possono essere modificati.
# Tuple with nested list
apple_details = ("apple", 34, True, 1.99, "Fuji",
["Washington", "California", "Michigan"])
print(apple_details)
# Modify nested list
apple_details[5][2] = "Pennsylvania"
print(apple_details)
Le tuple non hanno metodi per modificare il contenuto, ma forniscono due strumenti molto utili:
Restituisce quante volte un valore appare nella tupla.
Restituisce la posizione dell’indice della prima occorrenza di un valore.
fruits = ("apple", "banana", "cherry", "apple", "banana", "cherry", "apple")
# Count how many times "apple" appears
apple_count = fruits.count("apple")
print("Number of times 'apple' appears:", apple_count)
# Find index of first "cherry"
cherry_index = fruits.index("cherry")
print("The first occurrence of 'cherry' is at index:", cherry_index)
Quale sarà l'output del seguente codice Python?
itemsSold = ("milk", "eggs", "milk", "bread", "eggs", "milk")
print(itemsSold.count("milk"))
✔ Possibili risposte: 1 — 2 — 3 — 4
👉 Risposta corretta: 3
Quale riga di codice trova correttamente la posizione dell’indice della descrizione "Baby Spinach" nella tupla spinachDetails?
spinachDetails = ("Fresh", "Organic", "Baby Spinach", 2.99, 50)
✔ La riga corretta è:
spinachDetails.index("Baby Spinach")