Tuple
Cosa sono le tuple?
Sezione intitolata “Cosa sono le tuple?”Una tupla è simile a una lista: contiene elementi in ordine. È però immutabile: dopo la creazione non puoi aggiungere, rimuovere o cambiare elementi.
Le tuple sono adatte a dati “fissi”, come coordinate GPS, giorni della settimana o colori del semaforo.
Creare una tupla
Sezione intitolata “Creare una tupla”Le tuple si possono scrivere con le parentesi tonde ():
coordinate = (10, 20)colori = ("rosso", "verde", "blu")mista = (1, "ciao", True, 3.14)vuota = ()Accedere agli elementi
Sezione intitolata “Accedere agli elementi”L’accesso agli elementi usa gli indici, come nelle liste:
colori = ("rosso", "verde", "blu")print(colori[0]) # rossoprint(colori[-1]) # blu: l'ultimo elementoprint(colori[1:3]) # ('verde', 'blu'): slicingNon si possono modificare
Sezione intitolata “Non si possono modificare”Se provi a cambiare un elemento, Python dà errore:
colori = ("rosso", "verde", "blu")colori[0] = "giallo" # TypeError: 'tuple' object does not support item assignmentL’immutabilità impedisce di cambiare quei dati per errore.
Operazioni sulle tuple
Sezione intitolata “Operazioni sulle tuple”Anche se non puoi modificarle, puoi combinarle e controllarne il contenuto:
a = (1, 2, 3)b = (4, 5, 6)
print(a + b) # (1, 2, 3, 4, 5, 6): crea una nuova tupla unendo le dueprint(a * 2) # (1, 2, 3, 1, 2, 3): ripeteprint(3 in a) # True: controlla se 3 è presenteprint(len(a)) # 3: numero di elementiSpacchettare una tupla (unpacking)
Sezione intitolata “Spacchettare una tupla (unpacking)”Puoi assegnare gli elementi di una tupla a più variabili in una sola riga. Questa operazione si chiama unpacking (spacchettamento):
coordinate = (10, 20)x, y = coordinateprint(x) # 10print(y) # 20
nome, eta, citta = ("Alice", 16, "Roma")print(nome) # Aliceprint(eta) # 16print(citta) # RomaFunziona anche con le liste. L’importante è che il numero di variabili corrisponda al numero di elementi.
Convertire tra tuple e liste
Sezione intitolata “Convertire tra tuple e liste”Per modificare una tupla, convertila in lista, applica le modifiche e trasformala di nuovo in tupla:
t = (1, 2, 3)l = list(t) # converte in listal.append(4) # modifica la listat = tuple(l) # riconverte in tupla
print(t) # (1, 2, 3, 4)Quando usare una tupla invece di una lista?
Sezione intitolata “Quando usare una tupla invece di una lista?”Usa una tupla quando:
- I dati non devono mai cambiare (coordinate, giorni della settimana, codici fissi)
- Vuoi comunicare a chi legge il codice che quei dati sono “di sola lettura”
- Hai bisogno di usarla come chiave di un dizionario (le liste non si possono usare come chiavi)
Usa una lista quando i dati possono cambiare.