CodeGym /Cursos /Python SELF ES /Trabajo avanzado con tuples

Trabajo avanzado con tuples

Python SELF ES
Nivel 8 , Lección 6
Disponible

15.1 Creación de una copia de un tuple

Ya sabemos que los tuples son secuencias de elementos que no se pueden modificar. Debido a su inmutabilidad, la creación de una copia de un tuple puede parecer una tarea trivial, ya que al contrario de las listas, los tuples no cambian después de ser creados.

Sin embargo, en algunos casos puede ser necesario crear una copia de un tuple, especialmente cuando es importante trabajar con una versión separada de él sin modificar los datos originales. Aquí van los métodos principales:

Asignación directa

La forma más sencilla de crear una copia de un tuple es usando la asignación directa. Esto creará un nuevo objeto tuple, pero dado que los tuples son inmutables, ambos objetos referirán a los mismos datos.


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

En este caso, copied_tuple referirá al mismo objeto que original_tuple.

Uso de la función tuple()

Otra manera de crear una copia de un tuple es usar la función incorporada tuple(). Esta función crea un nuevo tuple copiando los elementos del tuple original.


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

        

Este método es especialmente útil cuando quieres asegurarte de que estás creando un nuevo objeto, incluso si el objeto original puede ser otro objeto iterable.

Conversión a través de una lista

A veces puede ser necesario crear una copia mutable de un tuple en forma de lista, para hacer cambios, y luego convertirla nuevamente en un tuple.


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

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

        

En este ejemplo, primero convertimos el tuple en una lista, añadimos un nuevo elemento, y luego convertimos la lista de nuevo en un tuple.

15.2 Unión de tuples

A diferencia de las listas, los tuples no pueden ser modificados después de su creación, pero puedes crear nuevos tuples uniendo los existentes. La unión de tuples es una operación común que puede ser útil en varios escenarios de programación.

Principales métodos para unir tuples

Concatenación

La forma más sencilla de unir dos o más tuples es usar el operador +. Este método crea un nuevo tuple que es el resultado de la concatenación de los tuples originales.


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

En este ejemplo, combined_tuple contendrá los elementos (1, 2, 3, 4, 5, 6).

Multiplicación por un entero

También puedes usar el operador * para multiplicar un tuple por un entero. Esto repite el tuple un número específico de veces y crea un nuevo tuple.


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

Aquí, multiplied_tuple contendrá los elementos (1, 2, 3, 1, 2, 3, 1, 2, 3).

Función itertools.chain

Para unir un gran número de tuples puedes usar la función chain del módulo itertools. Esto es conveniente cuando el número de tuples a unir no es conocido de antemano.


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)
        

El resultado será (1, 2, 3, 4, 5, 6, 7, 8, 9).

15.3 Tuples anidados

Los tuples que contienen otros tuples dentro de ellos se llaman tuples anidados (nested tuples). Los tuples anidados proporcionan una manera conveniente de organizar y estructurar datos, especialmente cuando necesitas representar datos multidimensionales o estructuras complejas.

Puedes unir tuples creando estructuras anidadas. Esto es útil para organizar datos en estructuras multidimensionales. Crear un tuple anidado en Python es tan sencillo como crear un tuple común. Simplemente incluyes un tuple dentro de otro.


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

En este ejemplo, nested_tuple contiene tres tuples, cada uno de los cuales consiste en tres elementos.

Ejemplo de creación de un tuple anidado a partir de comunes:

En este ejemplo, nested_tuple contiene tres tuples, cada uno de los cuales consiste en tres elementos.


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

Aquí, nested_tuple contendrá ((1, 2, 3), (4, 5, 6)).

Acceso a elementos de un tuple anidado

El acceso a los elementos de un tuple anidado se realiza usando indexación múltiple. Primero indicas el índice para el tuple externo, y luego para el interno.


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

# Acceso al elemento 5 en el segundo tuple anidado
element = nested_tuple[1][1]
print(element)  # Output: 5
        

Arreglos multidimensionales

Los tuples anidados se utilizan a menudo para representar arreglos bidimensionales o multidimensionales. Por ejemplo, una tabla de datos se puede representar como un tuple de tuples, donde cada fila de la tabla es un tuple separado.

Estructuración de datos

Los tuples anidados son convenientes para estructurar datos, como coordenadas geográficas (latitud y longitud) para varios lugares:


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