Tuplas de Python

Tuple es una colección de objetos de Python muy parecida a una lista. La secuencia de valores almacenados en una tupla puede ser de cualquier tipo y están indexados por números enteros. 

Los valores de una tupla están separados sintácticamente por ‘comas’. Aunque no es necesario, es más común definir una tupla cerrando la secuencia de valores entre paréntesis. Esto ayuda a comprender las tuplas de Python más fácilmente.

Creando una tupla

En Python, las tuplas se crean colocando una secuencia de valores separados por ‘comas’ con o sin el uso de paréntesis para agrupar la secuencia de datos.

Nota: La creación de una tupla de Python sin el uso de paréntesis se conoce como empaquetado de tuplas.  

Programa Python para demostrar la suma de elementos en una Tupla.

Python3

# Creating an empty Tuple
Tuple1 = ()
print("Initial empty Tuple: ")
print(Tuple1)
 
# Creating a Tuple
# with the use of string
Tuple1 = ('Geeks', 'For')
print("\nTuple with the use of String: ")
print(Tuple1)
 
# Creating a Tuple with
# the use of list
list1 = [1, 2, 4, 5, 6]
print("\nTuple using List: ")
print(tuple(list1))
 
# Creating a Tuple
# with the use of built-in function
Tuple1 = tuple('Geeks')
print("\nTuple with the use of function: ")
print(Tuple1)

Producción: 

Initial empty Tuple: 
()

Tuple with the use of String: 
('Geeks', 'For')

Tuple using List: 
(1, 2, 4, 5, 6)

Tuple with the use of function: 
('G', 'e', 'e', 'k', 's') 

Creación de una tupla con tipos de datos mixtos.

Las tuplas pueden contener cualquier número de elementos y de cualquier tipo de datos (como strings, enteros, listas, etc.). Las tuplas también se pueden crear con un solo elemento, pero es un poco complicado. Tener un elemento entre paréntesis no es suficiente, debe haber una ‘coma’ al final para que sea una tupla. 

Python3

# Creating a Tuple
# with Mixed Datatype
Tuple1 = (5, 'Welcome', 7, 'Geeks')
print("\nTuple with Mixed Datatypes: ")
print(Tuple1)
 
# Creating a Tuple
# with nested tuples
Tuple1 = (0, 1, 2, 3)
Tuple2 = ('python', 'geek')
Tuple3 = (Tuple1, Tuple2)
print("\nTuple with nested tuples: ")
print(Tuple3)
 
# Creating a Tuple
# with repetition
Tuple1 = ('Geeks',) * 3
print("\nTuple with repetition: ")
print(Tuple1)
 
# Creating a Tuple
# with the use of loop
Tuple1 = ('Geeks')
n = 5
print("\nTuple with a loop")
for i in range(int(n)):
    Tuple1 = (Tuple1,)
    print(Tuple1)

Producción: 

Tuple with Mixed Datatypes: 
(5, 'Welcome', 7, 'Geeks')

Tuple with nested tuples: 
((0, 1, 2, 3), ('python', 'geek'))

Tuple with repetition: 
('Geeks', 'Geeks', 'Geeks')

Tuple with a loop
('Geeks',)
(('Geeks',),)
((('Geeks',),),)
(((('Geeks',),),),)
((((('Geeks',),),),),)

Complejidades para crear tuplas:

Complejidad del tiempo: O(1)

Espacio Auxiliar : O(n)

Acceso de tuplas

Las tuplas son inmutables y, por lo general, contienen una secuencia de elementos heterogéneos a los que se accede mediante desempaquetado o indexación (o incluso por atributo en el caso de las tuplas con nombre). Las listas son mutables y sus elementos suelen ser homogéneos y se accede a ellos iterando sobre la lista.

Nota: Al desempaquetar la tupla, el número de variables en el lado izquierdo debe ser igual a un número de valores en la tupla a dada. 

Python3

# Accessing Tuple
# with Indexing
Tuple1 = tuple("Geeks")
print("\nFirst element of Tuple: ")
print(Tuple1[0])
 
 
# Tuple unpacking
Tuple1 = ("Geeks", "For", "Geeks")
 
# This line unpack
# values of Tuple1
a, b, c = Tuple1
print("\nValues after unpacking: ")
print(a)
print(b)
print(c)

Producción: 

First element of Tuple: 
G

Values after unpacking: 
Geeks
For
Geeks

Complejidades para acceder a elementos en tuplas:

Complejidad del tiempo: O(1)

Complejidad del espacio: O(1)

Concatenación de Tuplas

La concatenación de tuplas es el proceso de unir dos o más tuplas. La concatenación se realiza mediante el uso del operador ‘+’. La concatenación de tuplas se realiza siempre desde el final de la tupla original. Otras operaciones aritméticas no se aplican a las tuplas. 

Nota: solo los mismos tipos de datos se pueden combinar con la concatenación, surge un error si se combinan una lista y una tupla. 

Python3

# Concatenation of tuples
Tuple1 = (0, 1, 2, 3)
Tuple2 = ('Geeks', 'For', 'Geeks')
 
Tuple3 = Tuple1 + Tuple2
 
# Printing first Tuple
print("Tuple 1: ")
print(Tuple1)
 
# Printing Second Tuple
print("\nTuple2: ")
print(Tuple2)
 
# Printing Final Tuple
print("\nTuples after Concatenation: ")
print(Tuple3)

Producción: 

Tuple 1: 
(0, 1, 2, 3)

Tuple2: 
('Geeks', 'For', 'Geeks')

Tuples after Concatenation: 
(0, 1, 2, 3, 'Geeks', 'For', 'Geeks')

Complejidad de tiempo: O(1)

Espacio Auxiliar: O(1)

Rebanado de tupla

La división de una tupla se realiza para obtener un rango específico o una porción de subelementos de una tupla. El corte también se puede hacer en listas y arrays. La indexación en una lista da como resultado la obtención de un solo elemento, mientras que Slicing permite obtener un conjunto de elementos. 

Nota: los valores de incremento negativo también se pueden usar para invertir la secuencia de tuplas. 

Python3

# Slicing of a Tuple
 
# Slicing of a Tuple
# with Numbers
Tuple1 = tuple('GEEKSFORGEEKS')
 
# Removing First element
print("Removal of First Element: ")
print(Tuple1[1:])
 
# Reversing the Tuple
print("\nTuple after sequence of Element is reversed: ")
print(Tuple1[::-1])
 
# Printing elements of a Range
print("\nPrinting elements between Range 4-9: ")
print(Tuple1[4:9])

Producción: 

Removal of First Element: 
('E', 'E', 'K', 'S', 'F', 'O', 'R', 'G', 'E', 'E', 'K', 'S')

Tuple after sequence of Element is reversed: 
('S', 'K', 'E', 'E', 'G', 'R', 'O', 'F', 'S', 'K', 'E', 'E', 'G')

Printing elements between Range 4-9: 
('S', 'F', 'O', 'R', 'G')

Complejidades para el recorrido/búsqueda de elementos en tuplas:

Complejidad del tiempo: O(1)

Complejidad del espacio: O(1)

Eliminación de una tupla

Las tuplas son inmutables y, por lo tanto, no permiten la eliminación de una parte de ellas. La tupla completa se elimina mediante el uso del método del(). 

Nota: la impresión de tupla después de la eliminación da como resultado un error. 

Python

# Deleting a Tuple
 
Tuple1 = (0, 1, 2, 3, 4)
del Tuple1
 
print(Tuple1)

Rastreo (última llamada más reciente): 
archivo «/home/efa50fd0709dec08434191f32275928a.py», línea 7, en 
impresión (Tuple1) 
NameError: el nombre ‘Tuple1’ no está definido

Métodos incorporados

Método incorporado Descripción
índice( ) Encuentra en la tupla y devuelve el índice del valor dado donde está disponible
contar( ) Devuelve la frecuencia de aparición de un valor especificado

Funciones integradas

Función incorporada Descripción
todos() Devuelve verdadero si todos los elementos son verdaderos o si la tupla está vacía
ningún() devuelve verdadero si algún elemento de la tupla es verdadero. si la tupla está vacía, devuelve falso
largo() Devuelve la longitud de la tupla o el tamaño de la tupla
enumerar() Devuelve enumerar objeto de tupla
máx() devolver el elemento máximo de la tupla dada
min() devolver el elemento mínimo de la tupla dada
sum() Suma los números en la tupla.
ordenado() elementos de entrada en la tupla y devolver una nueva lista ordenada
tupla() Convierte un iterable en una tupla.

 

Tuplas VS Listas:

similitudes diferencias

Funciones que se pueden utilizar tanto para listas como para tuplas:

len(), max(), min(), sum(), cualquiera(), todo(), ordenado()

Métodos que no se pueden utilizar para tuplas:

agregar(), insertar(), eliminar(), pop(), clear(), ordenar(), invertir()

Métodos que se pueden utilizar tanto para listas como para tuplas:

contar(), índice()

generalmente usamos ‘tuplas’ para tipos de datos heterogéneos (diferentes) y ‘listas’ para tipos de datos homogéneos (similares).
Las tuplas se pueden almacenar en listas. Iterar a través de una ‘tupla’ es más rápido que en una ‘lista’.
Las listas se pueden almacenar en tuplas. Las ‘listas’ son mutables, mientras que las ‘tuplas’ son inmutables.
Se pueden anidar tanto ‘tuplas’ como ‘listas’. Las tuplas que contienen elementos inmutables se pueden usar como clave para un diccionario.

 

Artículos recientes sobre Tuple

Programas de tuplas

Enlaces útiles:

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *