CodeGym /Corso Java /Python SELF IT /Lavoro avanzato con le tuple

Lavoro avanzato con le tuple

Python SELF IT
Livello 8 , Lezione 6
Disponibile

15.1 Creare una copia della tupla

Quindi, sappiamo già che le tuple (tuples) sono sequenze di elementi immutabili. A causa della loro immutabilità, creare una copia di una tupla potrebbe sembrare un compito insignificante, perché a differenza delle liste, le tuple non cambiano dopo essere state create.

Tuttavia, in alcuni casi potrebbe essere necessario creare una copia di una tupla, specialmente quando è importante lavorare con una versione separata di essa senza modificare i dati originali. Ecco i metodi principali:

Assegnazione diretta

Il modo più semplice per creare una copia di una tupla è utilizzare l'assegnazione diretta. Questo creerà un nuovo oggetto tupla, ma poiché le tuple sono immutabili, entrambi gli oggetti faranno riferimento agli stessi dati.


original_tuple = (1, 2, 3, 4, 5)
copied_tuple = original_tuple
print(copied_tuple)
        

In questo caso, copied_tuple referenzierà lo stesso oggetto di original_tuple.

Utilizzo della funzione tuple()

Un altro modo per creare una copia di una tupla è utilizzare la funzione incorporata tuple(). Questa funzione crea una nuova tupla copiando gli elementi della tupla originale.


original_tuple = (1, 2, 3, 4, 5)
copied_tuple = tuple(original_tuple)
print(copied_tuple)

        

Questo metodo è particolarmente utile quando vuoi assicurarti di creare un nuovo oggetto, anche se l'oggetto originale potrebbe essere un altro oggetto iterabile.

Conversione tramite lista

A volte potrebbe essere necessario creare una copia modificabile della tupla sotto forma di lista, per apportare modifiche, e poi riconvertirla in una tupla.


original_tuple = (1, 2, 3, 4, 5)

temp_list = list(original_tuple)
temp_list.append(6)
copied_tuple = tuple(temp_list)
            
print(copied_tuple)

        

In questo esempio, convertiamo prima la tupla in una lista, aggiungiamo un nuovo elemento, e poi riconvertiamo la lista in una tupla.

15.2 Unione delle tuple

A differenza delle liste, le tuple non possono essere modificate dopo la creazione, ma puoi creare nuove tuple unendo quelle esistenti. Combinare le tuple è un'operazione comune che può essere utile in vari scenari di programmazione.

Metodi principali per unire le tuple

Concatenazione

Il modo più semplice per unire due o più tuple è usare l'operatore +. Questo metodo crea una nuova tupla che è il risultato della concatenazione delle tuple originali.


tuple1 = (1, 2, 3)
tuple2 = (4, 5, 6)
combined_tuple = tuple1 + tuple2
            
print(combined_tuple)
        

In questo esempio, combined_tuple conterrà gli elementi (1, 2, 3, 4, 5, 6).

Moltiplicazione per un numero intero

Puoi anche usare l'operatore * per moltiplicare una tupla per un numero intero. Questo ripete la tupla per un numero specificato di volte e crea una nuova tupla.


tuple1 = (1, 2, 3)
multiplied_tuple = tuple1 * 3
            
print(multiplied_tuple)
        

Qui, multiplied_tuple conterrà gli elementi (1, 2, 3, 1, 2, 3, 1, 2, 3).

Funzione itertools.chain

Per unire un gran numero di tuple, puoi usare la funzione chain dal modulo itertools. Questo è utile quando il numero di tuple da unire non è noto in anticipo.


from itertools import chain

tuple1 = (1, 2, 3)
tuple2 = (4, 5, 6)
tuple3 = (7, 8, 9)
            
combined_tuple = tuple(chain(tuple1, tuple2, tuple3))
print(combined_tuple)
        

Il risultato sarà (1, 2, 3, 4, 5, 6, 7, 8, 9).

15.3 Tuple annidate

Le tuple che contengono al loro interno altre tuple vengono chiamate tuple annidate (nested tuples). Le tuple annidate offrono un modo conveniente per organizzare e strutturare i dati, specialmente quando è necessario rappresentare dati multidimensionali o strutture complesse.

Puoi combinare le tuple creando strutture annidate. Questo è utile per organizzare i dati in strutture multidimensionali. Creare una tupla annidata in Python è semplice quanto creare una normale tupla. Basta includere una tupla in un'altra.


nested_tuple = ((1, 2, 3), (4, 5, 6), (7, 8, 9))
        

In questo esempio, nested_tuple contiene tre tuple, ciascuna delle quali consiste di tre elementi.

Esempio di creazione di una tupla annidata da ordinarie:

In questo esempio, nested_tuple contiene tre tuple, ciascuna delle quali consiste di tre elementi.


tuple1 = (1, 2, 3)
tuple2 = (4, 5, 6)
nested_tuple = (tuple1, tuple2)
            
print(nested_tuple)
        

Qui, nested_tuple conterrà ((1, 2, 3), (4, 5, 6)).

Accesso agli elementi di una tupla annidata

L'accesso agli elementi di una tupla annidata avviene utilizzando l'indicizzazione multipla. Prima indichi l'indice per la tupla esterna, e quindi per quella interna.


nested_tuple = ((1, 2, 3), (4, 5, 6), (7, 8, 9))

# Accesso all'elemento 5 nella seconda tupla annidata
element = nested_tuple[1][1]
print(element)  # Output: 5
        

Array multidimensionali

Le tuple annidate sono spesso usate per rappresentare array bidimensionali o multidimensionali. Ad esempio, una tabella di dati può essere rappresentata come una tupla di tuple, dove ogni riga della tabella è una tupla separata.

Strutturazione dei dati

Le tuple annidate sono comode per strutturare i dati, come le coordinate geografiche (latitudine e longitudine) per diverse località:


locations = (("New York", (40.7128, -74.0060)), 
             ("Los Angeles", (34.0522, -118.2437)), 
             ("Chicago", (41.8781, -87.6298)))
        
1
Опрос
Tuples in Python,  8 уровень,  6 лекция
недоступен
Tuples in Python
Tuples in Python
Commenti
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION