
Le tuple in Python
Nel linguaggio Python le tuple sono sequenze di oggetti immutabili. Il che significa che una volta che hai creato una tupla, non puoi modificarla.
Qual è la differenza tra le liste e le tuple? Le liste in Python sono strutture dati modificabili definite tra parentesi quadre, ideali per collezioni dinamiche di elementi che cambiano nel tempo. Le tuple, invece, sono strutture dati non modificabili definite tra parentesi tonde, utilizzate per raggruppare delle informazioni che non cambieranno durante l'esecuzione del programma.
Come creare una tupla
Per creare una tupla, inserisci gli elementi desiderati, separati da virgole, all'interno di una coppia di parentesi tonde.
my_tuple = ('elemento1', 'elemento2', 'elemento3')
Puoi creare una tupla anche senza utilizzare le parentesi tonde
my_tuple = 'elemento1', 'elemento2', 'elemento3'
In alternativa, puoi utilizzare la classe tuple()
my_tuple = tuple('elemento1', 'elemento2', 'elemento3')
La classe tuple() ha il vantaggio che può accettare come argomento anche un altro oggetto iterabile. Ad esempio, una lista.
lista = ['elemento1', 'elemento2', 'elemento3']
my_tuple = tuple(lista)
In ogni caso, il risultato finale è sempre lo stesso.
È importante prestare attenzione alla definizione di una tupla con un singolo elemento. Per crearne una, è necessario includere una virgola dopo l'elemento; in caso contrario, Python interpreterà l'oggetto come un singolo valore anziché una tupla. Pertanto, per definire correttamente una tupla con un solo elemento, dovresti seguire questa sintassi:
my_tuple = ('solo_elemento',)
Se invece gli elementi sono almeno due, è possibile omettere le parentesi tonde.my_tuple = 'elemento1', 'elemento2', 'elemento3'
Ecco un esempio pratico.
Crea una tupla con i nomi delle stagioni:
seasons = ('primavera', 'estate', 'autunno', 'inverno')
Poi visualizza il contenuto della tupla
print(seasons)
Python visualizza tutti gli elementi all'interno della tupla
('primavera', 'estate', 'autunno', 'inverno')
Per creare una tupla vuota, invece, puoi usare la classe tuple senza indicare alcun argomento tra le parentesi tonde.
my_tuple = tuple()
Per verificare che l'oggetto appena creato è effettivamente una tupla, puoi usare la funzione type().
print(type(my_tuple))
Se l'oggetto è una tupla, la funzione type restituisce il tipo <class 'tuple'>.
<class 'tuple'>
L'accesso agli elementi della tupla
Puoi accedere agli elementi di una tupla utilizzando l'indicizzazione, indicando l'indice dell'elemento desiderato tra parentesi quadre subito dopo il nome della tupla.
my_tuple[indice]
Ricorda che in Python gli indici partono sempre da zero. Quindi, il primo elemento della tupla ha indice zero, il secondo ha indice uno, e via dicendo.
Ad esempio, crea una tupla nella variabile "seasons".
seasons = ('primavera', 'estate', 'autunno', 'inverno')
Poi stampa il primo elemento della tupla indicando seasons[0] nell'istruzione print().
print(seasons[0])
Python accede all'elemento con indice zero, il primo elemento della tupla, e lo stampa sullo schermo.
primavera
Per accedere al secondo elemento scrivi seasons[1] nell'istruzione print().
print(seasons[1])
Python legge e restituisce l'elemento della tupla con indice uno, ossia il secondo elemento della tupla.
estate
In questo modo puoi accedere a ogni singolo elemento della tupla.
Immutabilità della Tupla
Le tuple sono immutabili, il che significa che non puoi modificare, aggiungere o rimuovere elementi da una tupla una volta che è stata definita.
Prendiamo come esempio la tupla precedente.
seasons = ('primavera', 'estate', 'autunno', 'inverno')
Questa tupla è composta da quattro elementi.
Prova a modificare il primo elemento della tupla.
seasons[0] = 'prova'
Quando provi a modificare una tupla, Python restituisce un messaggio di errore.
TypeError: 'tuple' object does not support item assignment
Iterazione su una Tupla
Puoi iterare gli elementi di una tupla in modo simile a come lo faresti con una lista.
Ad esempio, crea la tupla
seasons = ('primavera', 'estate', 'autunno', 'inverno')
Poi itera tra gli elementi della lista tramite un ciclo for
- for elemento in seasons:
- print(elemento)
In ogni iterazione Python accede a un elemento della lista e lo stampa sullo schermo
primavera
estate
autunno
inverno
Le funzioni e Metodi della Tupla
Il linguaggio Python ha diverse funzioni e metodi utili per lavorare con le tuple.
Ad esempio, crea una tupla.
my_tuple = (1, 2, 3, 2, 4, 4, 4)
Poi usa la funzione len() per trovare il numero degli elementi
print(len(my_tuple))
La tupla contiene 7 elementi.
7
La funzione max() ti permette di individuare il valore massimo
print(max(my_tuple))
Il valore massimo nella tupla è 7
4
La funzione min() individua il valore minimo nella tupla.
print(min(my_tuple))
Il valore minimo nella tupla è 1
1
Il metodo count() conta il numero di volte che un elemento appare nella tupla
print(my_tuple.count(4))
Stampa 3, il numero di volte che 4 appare nella tupla
3
Il metodo index() individua l'elemento con un determinato numero indice.
print(my_tuple.index(2))
In questo caso nell'indice 2 della tupla è memorizzato il valore 1
1
Ricorda, l'uso delle tuple è molto vasto e le troverai spesso durante la programmazione.
È un concetto fondamentale da comprendere quando si lavora con Python.