Creare liste di tuple in Python

Le liste di tuple rappresentano una struttura dati potentemente flessibile in Python, combinando la mutabilità delle liste con l'immutabilità delle tuple. Questa struttura è particolarmente utile per lavorare con dati strutturati che richiedono coppie o gruppi di valori che non devono essere modificati. 

In questa guida, esploreremo come creare e utilizzare liste di tuple in Python, fornendo esempi pratici e approfondendo i contesti d'uso in cui questo approccio risulta particolarmente vantaggioso.

Cosa sono le liste di tuple?

Una lista di tuple in Python è una lista in cui ogni elemento è una tupla. Le tuple all'interno della lista possono contenere diversi tipi di dati e sono immutabili, il che significa che, una volta create, il loro contenuto non può essere modificato. 

Questa caratteristica le rende ideali per rappresentare dati che non dovrebbero cambiare nel tempo, come coordinate geografiche, coppie chiave-valore e record di database.

Creazione di liste di tuple

La creazione di liste di tuple in Python è semplice e diretta. È possibile inizializzare una lista di tuple direttamente assegnando una lista di tuple a una variabile o generare dinamicamente liste di tuple utilizzando cicli o comprensioni di liste.

# Creazione di una lista di tuple contenente coppie nome-età
persone = [("Alice", 30), ("Bob", 25), ("Charlie", 35)]
print(persone)
# Output: [('Alice', 30), ('Bob', 25), ('Charlie', 35)]

In questo esempio, persone è una lista di tuple, con ogni tupla che rappresenta il nome di una persona e la sua età.

È anche possibile creare liste di tuple dinamicamente, per esempio, accoppiando elementi di due liste separate.

nomi = ["Alice", "Bob", "Charlie"]
età = [30, 25, 35]

persone = list(zip(nomi, età))
print(persone)
# Output: [('Alice', 30), ('Bob', 25), ('Charlie', 35)]

Qui, la funzione zip è utilizzata per accoppiare ogni elemento della lista nomi con l'elemento corrispondente della lista età, formando una lista di tuple.

Accesso agli elementi di liste di tuple

L'accesso agli elementi di una tupla all'interno di una lista segue la normale indicizzazione e slicing delle liste in Python.

# Accesso alla prima tupla
prima_persona = persone[0]
print(prima_persona) # Output: ('Alice', 30)

# Accesso al nome della prima persona
nome_prima_persona = persone[0][0]
print(nome_prima_persona) # Output: Alice

Iterare su una lista di tuple

Iterare su una lista di tuple è un'operazione comune e può essere effettuata utilizzando un ciclo for.

for nome, età in persone:
	print(f"{nome} ha {età} anni.")

Questa iterazione sfrutta l'assegnazione simultanea per estrarre i valori dalle tuple durante il ciclo.

Applicazioni delle liste di tuple

Le liste di tuple sono particolarmente adatte per rappresentare dati tabellari, dove ogni tupla può rappresentare un record o una riga di dati, e ogni elemento della tupla rappresenta un campo del record.

Quando si lavora con dati che non dovrebbero cambiare, come identificativi univoci o valori configurati staticamente, utilizzare tuple all'interno delle liste assicura l'immutabilità di questi dati.

Le liste di tuple possono essere facilmente ordinate o filtrate basandosi su uno o più elementi delle tuple, utilizzando funzioni come sorted e comprensioni di liste, rendendo semplice l'organizzazione e la manipolazione dei dati.

Conclusioni

Le liste di tuple in Python offrono un modo efficace e flessibile per lavorare con collezioni di dati immutabili all'interno di una struttura dati mutabile. Attraverso esempi pratici, abbiamo esplorato come creare, accedere e iterare su liste di tuple, evidenziando l'utilità di questa struttura in una varietà di contesti di programmazione.

Indice pagine Python: