Saltearse al contenido

Tuplas

En Python, una tupla es una colección ordenada e inmutable de elementos. Las tuplas se escriben entre paréntesis y sus elementos se separan por comas. Son útiles para almacenar datos que no deben cambiar después de su creación.

Las tuplas son:

  • Inmutables: Una vez creada una tupla, no se pueden agregar, eliminar o modificar elementos.

  • Ordenadas: Los elementos en una tupla tienen un orden específico, y se puede acceder a ellos mediante su índice.

  • Heterogéneas: Las tuplas pueden contener elementos de diferentes tipos de datos (enteros, cadenas, booleanos, etc.).

Hagamos una tupla de frutas.

tupla.py
# Tupla de frutas
frutas = ('manzana', 'banana', 'naranja', 'pera', 'uva', 'mango')
print(frutas)
# Para crear una tupla de un solo elemento, hay que agregar una coma al final
# Tupla de un solo elemento
tupla = (1,)
print(tupla)

Salida:

terminal
('manzana', 'banana', 'naranja', 'pera', 'uva', 'mango')
(1,)

Para acceder a un elemento en particular de la tupla se lleva a cabo una indexación de la siguiente forma:

tupla.py
# Tupla de frutas
frutas = ('manzana', 'banana', 'naranja', 'pera', 'uva', 'mango')
print(frutas[1])

Salida:

terminal
banana

En Python, segmentación (o slicing) en una tupla es una técnica para obtener una sub-tupla extrayendo un rango de elementos, sin modificar la tupla original.

tupla[inicio:fin:paso]
  • inicio: índice desde donde se comienza (incluido).

  • fin: índice donde se termina (no incluido).

  • paso: (opcional) intervalo entre elementos.

tupla.py
# Tupla de frutas
frutas = ('manzana', 'banana', 'naranja', 'pera', 'uva', 'mango')
print(frutas[1:4]) # ('banana', 'naranja', 'pera')
print(frutas[:3]) # ('manzana', 'banana', 'naranja')
print(frutas[2:]) # ('naranja', 'pera', 'uva', 'mango')
print(frutas[::2]) # ('manzana', 'naranja', 'uva')
print(frutas[::-1]) # ('mango', 'uva', 'pera', 'naranja', 'banana', 'manzana')

Salida:

terminal
('banana', 'naranja', 'pera')
('manzana', 'banana', 'naranja')
('manzana', 'naranja', 'uva')
('mango', 'uva', 'pera', 'naranja', 'banana', 'manzana')

Las tuplas son útiles cuando quieres representar datos que no deben cambiar. Ventajas principales:

  • Inmutabilidad: previenen modificaciones accidentales (por ejemplo, configuración o coordenadas).
  • Eficiencia: suelen ser un poco más rápidas y usar menos memoria que listas.
  • Hashables: pueden usarse como claves en diccionarios si todos sus elementos son inmutables.
ejemplo.py
# Tupla como clave de dict
d = {('x','y'): 42}
print(d[('x','y')])