Contenuti del Corso
Introduzione a Python
Introduzione a Python
Tuple e Metodi delle Tuple
Tuple
In questo capitolo, esploriamo le tuple, un'altra struttura dati fondamentale di Python ideale per gestire sequenze di dati immutabili (non modificabili). Le tuple si rivelano estremamente utili nel nostro scenario del negozio di alimentari.
Ad esempio, potremmo aver bisogno di memorizzare i dettagli dei prodotti che raramente cambiano o garantire che informazioni sensibili, come i numeri di ID
dei prodotti, rimangano coerenti e inalterate durante l'esecuzione di un programma.
Guarda come Alex dimostra come lavorare con le tuple per garantire una gestione stabile dei dati nel contesto del nostro negozio di alimentari:
Fondamenti delle Tuple
Le tuple in Python sono una struttura dati di base ma potente, simile alle liste ma progettata per l'immutabilità.
Ecco una panoramica delle loro caratteristiche principali:
Creazione
Le tuple vengono create racchiudendo valori separati da virgole tra parentesi tonde ()
(a differenza delle liste, che vengono create racchiudendo valori separati da virgole tra parentesi quadre []
).
Ordinamento
Come per le liste, gli elementi in una tupla mantengono un ordine specifico. Questo ordine è fisso e non può essere modificato, il che può essere utile per l'integrità dei dati.
Immutabilità (Non modificabilità)
Una volta creata una tupla, i suoi elementi non possono essere modificati, aggiunti o rimossi. Questa immutabilità rende le tuple una scelta affidabile per memorizzare dati che non devono essere alterati durante il ciclo di vita del programma.
Permettere Duplicati
Come per le liste, le tuple possono contenere più istanze dello stesso valore, rendendole adatte a memorizzare dati ripetitivi in modo sicuro ed efficiente. Tuttavia, è generalmente raro trovare duplicati nelle tuple per i casi d'uso tipici.
Esempi
Quindi, la principale differenza tra tuple e liste in Python risiede nella loro mutabilità. Le tuple vengono create utilizzando parentesi tonde ()
e sono immutabili, il che significa che non possono essere modificate dopo la creazione.
Vediamo questo aspetto più nel dettaglio.
Considera una tupla che categorizza le diverse sezioni di un negozio di alimentari — un insieme di valori che difficilmente cambieranno frequentemente:
# 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)
Gli elementi all'interno di una tupla possono essere accessibili utilizzando numeri di indice, in modo simile alle liste. Questo tipo di indicizzazione funziona allo stesso modo delle liste, consentendo di recuperare qualsiasi elemento in base alla sua posizione:
# Define a tuple with multiple data types apple_details = ("apple", 34, True, 1.99, "Fuji") # Get an element of a tuple by its index print("Apple Type:", apple_details[4])
Le tuple possono contenere qualsiasi tipo di oggetto, proprio come le liste. Possono includere anche oggetti mutabili come liste annidate (o dizionari, di cui parleremo più avanti). Sebbene le tuple siano immutabili, gli oggetti mutabili al loro interno possono comunque essere modificati.
Prendiamo la tupla apple_details
: se è necessario aggiornare uno stato nell'elenco che contiene i nomi degli stati, è possibile farlo utilizzando l'indicizzazione di livello 1 e livello 2, proprio come si fa con le liste annidate.
# Tuple containing various data types and a nested list apple_details = ("apple", 34, True, 1.99, "Fuji", ["Washington", "California", "Michigan"]) print(apple_details) # Updating the mutable python list even while nested in an immutable data type (tuple) apple_details[5][2] = "Pennsylvania" print(apple_details)
Metodi delle Tuple
Sebbene le tuple non supportino metodi che ne modificano il contenuto, offrono comunque alcuni metodi integrati utili per gestirle e utilizzarle in modo efficace. Ecco i due metodi integrati che si possono utilizzare con le tuple:
count()
: restituisce il numero di volte in cui un valore specificato appare nella tupla;index()
: cerca nella tupla un valore specificato e restituisce la posizione dell'indice in cui è stato trovato per la prima volta.
Nota
Gli stessi metodi possono essere utilizzati anche con le liste.
# Example tuple containing a mix of integers and strings fruits = ("apple", "banana", "cherry", "apple", "banana", "cherry", "apple") # Use the `count()` method to determine how many times "apple" appears in the tuple apple_count = fruits.count("apple") print("Number of times 'apple' appears:", apple_count) # Use the `index()` method to find the first occurrence of "cherry" in the tuple cherry_index = fruits.index("cherry") print("The first occurrence of 'cherry' is at index:", cherry_index)
1. Quale sarà l'output del seguente codice Python?
2. Quale riga di codice trova correttamente la posizione dell'indice della descrizione "Baby Spinach"
all'interno della tupla spinachDetails
?
Grazie per i tuoi commenti!