Operazioni di Base sulle Tuple in Python
Nella lezione precedente abbiamo visto le caratteristiche principali delle tuple in Python. In questa lezione vedremo le operazioni di base che è possibile effettuare sulle tuple.
Dal momento che una tupla è un oggetto immutabile, non è possibile modificare il suo contenuto. Tuttavia, è possibile creare nuove tuple a partire da una tupla esistente. Vediamo come.
Creazione di una Tupla a Partire da un'altra Tupla o da una Lista
Il contenuto di una tupla non può essere modificato. Tuttavia possiamo creare una nuova tupla a partire da una tupla esistente. Per fare ciò, possiamo utilizzare la funzione tuple
che abbiamo visto in precedenza:
tupla = (1, 2, 3)
nuova_tupla = tuple(tupla)
La sintassi di sopra funziona proprio perché, come vedremo, una tupla è anche un iterabile.
Analogamente, possiamo creare una tupla a partire da una lista:
lista = [1, 2, 3]
tupla = tuple(lista)
Quest'ultima tecnica risulta particolarmente utile nel caso in cui vogliamo creare una tupla a partire da una esistente ma vogliamo aggiungere o rimuovere elementi. In questo caso, possiamo creare una lista, aggiungere o rimuovere elementi e poi convertire la lista in una tupla.
Ad esempio, supponiamo di avere la tupla seguente:
>>> tupla = (1, 2, 3)
Se volessimo aggiungere un elemento alla tupla, dovremmo creare una nuova tupla a partire da quella esistente. Per fare ciò, possiamo creare una lista, aggiungere l'elemento e poi convertire la lista in una tupla:
>>> lista = list(tupla)
>>> lista.append(4)
>>> tupla = tuple(lista)
>>> tupla
(1, 2, 3, 4)
Lunghezza di una Tupla
Una tupla è una sequenza ordinata e immutabile di elementi. Pertanto una tupla avrà una dimensione o lunghezza fissata al momento della sua creazione che non varierà nel tempo.
Per conoscere la sua lunghezza basta utilizzare la funzione len
:
>>> tupla = (1, 2, 3)
>>> len(tupla)
3
Lunghezza di una Tupla
In Python per conoscere la lunghezza di una tupla si utilizza la funzione len
:
lunghezza = len(t)
Concatenazione di Tuple
Come per le liste, è possibile concatenare due tuple utilizzando l'operatore +
. In questo modo si può ottenere una nuova tupla a partire da due o più tuple.
Supponiamo, ad esempio, di avere le tre tuple seguenti:
>>> tupla1 = (1, 2, 3)
>>> tupla2 = (4, 5, 6)
>>> tupla3 = (7, 8, 9)
Per concatenare le tre tuple possiamo scrivere:
>>> nuova_tupla = tupla1 + tupla2 + tupla3
>>> nuova_tupla
(1, 2, 3, 4, 5, 6, 7, 8, 9)
Ovviamente la concatenazione funziona soltanto se applicata tra tuple. Non è possibile utilizzare la concatenazione tra una tupla e una lista, ad esempio.
Concatenazione di Tuple
In Python è possibile concatenare due o più tuple usando l'operatore +
. La sintassi è la seguente:
nuova_tupla = tupla1 + tupla2
Il risultato della concatenazione è una nuova tupla.
Ripetizione di una Tupla
Come per le liste, è possibile ripetere una tupla per un certo numero di volte utilizzando l'operatore *
. In questo modo si può ottenere una nuova tupla a partire da una tupla esistente.
Supponiamo, ad esempio, di avere la seguente tupla:
>>> tupla = (1, 2, 3)
Per ripetere la tupla 3 volte possiamo scrivere:
>>> nuova_tupla = tupla * 3
>>> nuova_tupla
(1, 2, 3, 1, 2, 3, 1, 2, 3)
Il risultato della ripetizione è sempre una nuova tupla. La tupla originaria non viene modificata.
Ripetizione di una Tupla
In Python è possibile ripetere una tupla un certo numero di volte utilizzando l'operatore *
. La sintassi è la seguente:
tupla_ripetuta = tupla * n
Il risultato della ripetizione è una nuova tupla. L'elemento n
è un intero positivo che indica il numero di volte in cui la tupla deve essere ripetuta.
In Sintesi
In questa lezione abbiamo visto le operazioni di base che è possibile effettuare sulle tuple. In particolare, abbiamo visto come:
- creare una tupla a partire da un'altra tupla o da una lista;
- conoscere la lunghezza di una tupla;
- concatenare due o più tuple;
- ripetere una tupla un certo numero di volte.
Tutte queste operazioni restituiscono una nuova tupla. La tupla originaria non viene modificata. Questo perché una tupla è un oggetto immutabile.
Nella prossima lezione andremo a studiare lo slicing delle tuple.