Tuple e Metodi delle Tuple

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.


🎬 Introduzione alle Tuple

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.


🧱 Fondamenti delle Tuple

✔ Creazione

Si creano usando parentesi tonde:

("Produce", "Dairy", "Bakery")

✔ Ordinamento fissato

Gli elementi mantengono l’ordine originale e non possono essere riordinati internamente.

✔ Immutabilità

Non puoi aggiungere, rimuovere o modificare elementi.

✔ Duplicati permessi

Come nelle liste, possono essere presenti elementi ripetuti.


📌 Esempio 1 — Tuple nel negozio di alimentari

# 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)

📌 Esempio 2 — Accesso tramite indice

# Define a tuple with multiple data types
apple_details = ("apple", 34, True, 1.99, "Fuji") 

print("Apple Type:", apple_details[4])

📌 Esempio 3 — Tuple con oggetti mutabili

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)

🧰 Metodi delle Tuple

Le tuple non hanno metodi per modificare il contenuto, ma forniscono due strumenti molto utili:

1. count(value)

Restituisce quante volte un valore appare nella tupla.

2. index(value)

Restituisce la posizione dell’indice della prima occorrenza di un valore.


📌 Esempio dei metodi

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)

📝 Verifica delle conoscenze

Domanda 1

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


Domanda 2

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")