Una coordenada como (40.4, -3.7) tiene dos valores que forman una unidad. Normalmente no quieres añadir una tercera cosa por accidente ni sustituir una parte sin pensar.
Una tupla es útil precisamente para esos grupos ordenados y de estructura estable.
Elegir una tupla cuando varios valores forman una unidad estable y desempaquetarla con nombres útiles.
Se lee como una lista, pero no se edita como una lista
coordenada = (40.4, -3.7) print(coordenada[0]) print(coordenada[1])
Los índices funcionan igual que en una lista: empiezan en 0. La diferencia aparece al intentar cambiar una posición: coordenada[0] = 41 no está permitido.
Esa limitación no es un castigo. Sirve para expresar que el valor representa una unidad que no debería mutarse por partes.
Desempaquetar convierte posiciones en nombres
coordenada = (40.4, -3.7) latitud, longitud = coordenada print(latitud) print(longitud)
El primer valor pasa a latitud y el segundo a longitud. Así dejas de pensar en «posición 0» y «posición 1» y empiezas a trabajar con nombres que explican el dato.
¿Y si hay tres valores y solo dos nombres?
Python no puede repartirlos correctamente y produce un error de desempaquetado. En el caso sencillo, el número de nombres debe coincidir con el número de elementos.
La coma es más importante que los paréntesis
Este detalle merece verlo una vez porque suele sorprender:
numero = (5) tupla = (5,) print(type(numero)) print(type(tupla))
(5) sigue siendo un entero entre paréntesis. La coma de (5,) es la que crea una tupla de un elemento.
Decide primero si la estructura debe cambiar
Coordenada (latitud, longitud)
Los dos valores forman una unidad estable. ¿Lista o tupla?
Comprobar razonamiento
Tupla. La estructura tiene dos posiciones con significado fijo.
Tareas pendientes
Se añadirán y eliminarán elementos durante el día. ¿Lista o tupla?
Comprobar razonamiento
Lista. La colección está pensada para cambiar.
Color RGB (rojo, verde, azul)
Siempre son tres componentes con posiciones conocidas. ¿Lista o tupla?
Comprobar razonamiento
Tupla es una elección natural si quieres tratar los tres valores como una unidad estable.
Desempaqueta la coordenada para dar nombre a cada posición. No uses [0] ni [1].
Latitud: 40.4 Longitud: -3.7
La salida aparecerá aquí.
Necesito una pista
- Python permite asignar varios nombres a la vez a partir de una tupla.
Ver una solución razonada
coordenada = (40.4, -3.7)
latitud, longitud = coordenada
print(f"Latitud: {latitud}")
print(f"Longitud: {longitud}")Lista o tupla: decide por intención, no por costumbre
Lista: «estos elementos forman una colección que puede cambiar».
Tupla: «estos valores forman juntos una unidad de estructura fija».
No necesitas buscar diferencias de velocidad ni memorizar reglas avanzadas. Elegir por significado ya es una muy buena decisión para programas pequeños.
Si intentas modificarla y Python se queja
Antes de «arreglar» el error convirtiendo todo en lista, vuelve a la intención. Si el dato realmente debe cambiar, probablemente una lista era mejor. Si debe seguir siendo fijo, crea una nueva tupla con los valores correctos en lugar de alterar la anterior.
puedes justificar con una frase por qué usarías una tupla para una coordenada y una lista para una lista de tareas.