En Python, las tuplas son colecciones ordenadas e inmutables de elementos. A diferencia de las listas, una vez que una tupla es creada, no se puede modificar. Las tuplas se utilizan cuando se necesita una colección de elementos que no deben cambiar a lo largo del tiempo. Se definen utilizando paréntesis () y los elementos están separados por comas.
Tuplas básicas:
tupla_vacia = ()
tupla_un_elemento = (1,)
tupla = (1, 2, 3, 4, 5)
Tuplas con diferentes tipos de datos:
mi_tupla = (1, "hola", 3.14, True, None)
Tuplas anidadas:
tupla_anidada = ((1, 2, 3), ("a", "b", "c"), (True, False))
Ejemplo usando tuplas:
# Ejemplo 1: Tupla básica
tupla = (1, 2, 3, 4, 5)
print(tupla)
# Salida en la Terminal: (1, 2, 3, 4, 5)
# Ejemplo 2: Tupla con diferentes tipos de datos
mi_tupla = (1, "hola", 3.14, True, None)
print(mi_tupla)
# Salida en la Terminal: (1, "hola", 3.14, True, None)
# Ejemplo 3: Tupla anidada
tupla_anidada = ((1, 2, 3), ("a", "b", "c"), (True, False))
print(tupla_anidada)
# Salida en la Terminal: ((1, 2, 3), ("a", "b", "c"), (True, False))
Acceso a elementos individuales: Las tuplas, al igual que las listas, son indexadas, lo que significa que cada elemento tiene un número de posición, comenzando desde 0 para el primer elemento.
tupla = (10, 20, 30, 40, 50)
print(tupla[0]) # 10
print(tupla[-1]) # 50
Acceso a subtuplas (slicing): El slicing permite acceder a una porción de la tupla especificando un rango de índices.
tupla = (10, 20, 30, 40, 50)
print(tupla[1:4]) # (20, 30, 40)
print(tupla[:3]) # (10, 20, 30)
print(tupla[2:]) # (30, 40, 50)
print(tupla[:]) # (10, 20, 30, 40, 50)
print(tupla[::2]) # (10, 30, 50)
En Python, las tuplas son similares a las listas en cuanto a la forma en que puedes acceder a sus elementos, aunque las tuplas son inmutables. Aquí te muestro las formas más comunes de acceder a los elementos de una tupla:
Acceder por índice: Puedes acceder a un elemento de la tupla utilizando su índice.
tupla = ("Juan", "Pepe", "Carlos", "Bastian")
print(tupla[1]) # Imprimirá "Pepe"
Acceso inverso por índice: Puedes usar índices negativos para acceder a los elementos desde el final de la tupla.
print(tupla[-1]) # Imprimirá "Bastian"
print(tupla[-2]) # Imprimirá "Carlos"
Slicing (rebanado): Puedes obtener una subtupla utilizando slicing.
print(tupla[1:3]) # Imprimirá ("Pepe", "Carlos")
print(tupla[:2]) # Imprimirá ("Juan", "Pepe")
print(tupla[2:]) # Imprimirá ("Carlos", "Bastian")
print(tupla[:]) # Imprimirá ("Juan", "Pepe", "Carlos", "Bastian")
print(tupla[::2]) # Imprimirá ("Juan", "Carlos")