Tuplas de Python: secuencias inmutables y desempaquetado

Comprender las tuplas de Python. Aprenda cuándo usar tuplas en lugar de listas, cómo funciona el desempaquetado de tuplas y cómo la inmutabilidad garantiza la seguridad de los datos.

Pruébelo en el editor

Descripción general

Una tupla es una secuencia ordenada e inmutable de elementos en Python. A diferencia de las listas, que están entre corchetes `[]` y se pueden modificar, las tuplas están entre paréntesis `()` y no se pueden modificar una vez creadas. Intentar agregar, agregar, eliminar o reasignar elementos en una tupla dará como resultado un error de tiempo de ejecución. Esta inmutabilidad actúa como una característica de seguridad, garantizando que los datos transmitidos por su aplicación permanezcan constantes y seguros.

Como las tuplas son inmutables, son más rápidas que las listas y utilizan menos memoria. También son hash (siempre que todos los elementos de la tupla sean hash), lo que permite usarlos como claves en diccionarios o elementos en conjuntos (una característica que las listas no admiten). Las tuplas se utilizan tradicionalmente para agrupar registros de datos heterogéneos, como representar una fila de base de datos, coordenadas o valores de color RGB.

Una de las características más elegantes de las tuplas es Tuple Unpacking. Esto le permite asignar elementos de una tupla a variables individuales en una sola línea (por ejemplo, `x, y = coordenadas`). Se usa mucho cuando se devuelven múltiples valores de una función. Python también permite el intercambio dinámico de variables mediante el desempaquetado (`a, b = b, a`) sin necesidad de una tercera variable temporal, lo que hace que su código sea significativamente más limpio y más fácil de seguir.

Código y salida de ejecución

Crear coordenadas como tuplas, demostrar límites de inmutabilidad y desempaquetar elementos.

# Creating tuples
location = (40.7128, -74.0060)  # NYC Coordinates
print(f"Latitude: {location[0]}, Longitude: {location[1]}")

# Tuple unpacking
lat, lon = location
print(f"Unpacked Lat: {lat} | Unpacked Lon: {lon}")

# Function returning multiple values
def get_user_info():
    return "Alice", 25, "admin"

name, age, role = get_user_info()
print(f"{name} ({role}) is {age} years old.")
Salida terminal
Latitude: 40.7128, Longitude: -74.006
Unpacked Lat: 40.7128 | Unpacked Lon: -74.006
Alice (admin) is 25 years old.

Implementación paso a paso

  • Devolver múltiples valores limpiamente desde funciones auxiliares
  • Almacenamiento de constantes como coordenadas, colores o registros de bases de datos
  • Definición de claves de diccionario inmutables para asignaciones multidimensionales

Preguntas frecuentes

¿Cómo defino una tupla con un solo elemento?

Debe incluir una coma al final del elemento, por ejemplo, single_item = (42,). Sin la coma, Python la trata como una expresión estándar entre paréntesis.

¿Puedes modificar una lista anidada dentro de una tupla?

Sí. Si bien la referencia de tupla en sí es inmutable, si contiene objetos mutables como listas, puedes modificar el contenido de esas listas en su lugar.

Temas relacionados

Recursos recomendados de Python

Amplíe sus conocimientos con tutoriales interactivos relacionados, hojas de trucos y comparaciones de códigos.