Python la struttura dati Tupla

Autore:[Antonio Gallonetto]

Una tupla è una struttura dati molto simile alle liste, soltanto che il contenuto è immutabile.

Le tuple sono immutabili

Il contenuto delle tuple non si può modificare e nemmeno la dimensione della tupla.

Tipi all’interno della tupla

I tipi all’interno della tupla possono essere eterogenei, possiamo avere valori, stringhe, tuple ecc.

Sintassi della dichiarazione di una tupla

Operazioni sulle tuple

Slicing di una tupla

Per slicing si intende estrarre degli elementi da una tupla.

Esempio di slicing

listaValori=(10,20,30,40,50)
nuovaLista=listaValori[0:1]
print(nuovaLista) ## risultato (10,)
##
nuovaLista=nuovaLista=listaValori[0:len(listaValori)-2]
print(nuovaLista) ## risultato (10, 20, 30)

In questo esempio potrebbe sembrare che ci sia una incoerenza con l’immutabilità della tupla, perché andiamo ad assegnare uno slicing ad una tupla già usata, nel caso dell’assegnamento si elimina il contenuto della tupla precedente e si assegna il valore dello slicing.

count()

Conta le occorrenze di un certo elemento nella tupla

Sintassi di count()

nomeLista.count(elemento)

Esempio

listaValori=(10,20,30,40,50,10,80,30,10,20,30,10)
numOccorrenze=listaValori.count(10)
print(numOccorrenze) ## risultato è 4

index()

index ritorna il valore dell’indice della prima occorrenza di un elemento all’interno della tupla

Sintassi

nomeTupla.index(elemento)

Esempio

listaValori=(10,20,30,40,50,10,80,30,10,20,30,10)
posVal10=listaValori.index(10)
print(posVal10) ## risultato è 0 perchè è il primo elemento

Un esempio nel quale prendo in considerazione una sottostringa

listaValori=(10,20,30,40,50,10,80,30,10,20,30,10)
posVal10=listaValori[2:].index(10) ## prendo in considerazione (30, 40, 50, 10, 80, 30, 10, 20, 30, 10)
print(posVal10) ## risultato è 3

len()

len() restituisce la lunghezza della tupla

Sintassi

dimTupla=len(nomeTupla) dove dimTupla è un valore intero che indica la dimensione della tupla

Esempio

listaValori=(10,20,30,40,50,10,80,30,10,20,30,10)
print(len(listaValori[0:])) ## risultato 12
print(len(listaValori[1:])) ## risultato 11
print(len(listaValori[2:])) ## risultato 10

Assegnamento

Possiamo assegnare una tupla ad un altra tupla in questo modo: tuplaA=tuplaB oppure ad una qualsiasi altra struttura dati.

Esempio di assegnamento

tuplaA=("prova1","prova2",1)
tuplaB=("A1",)
print(tuplaA) ## ris ('prova1', 'prova2', 1)
print(tuplaB) ## ris ('A1',)
tuplaB=tuplaA 
print(tuplaB) ## ris ('prova1', 'prova2', 1)

Argomenti correlati: