- Listas en Python
- ¿Por qué una tupla es mejor?
- Diccionarios: una alternativa aún más clara
- ¿Cómo representar un segmento de línea?
Al programar, no basta con saber si algo es posible en un lenguaje sino si es la mejor opción para el problema.
📍 Por ejemplo, queremos representar un punto en un plano cartesiano.
🤔 ¿Usamos una tupla? ¿O quizá una lista? ¿Tal vez un diccionario?
Veámoslo paso a paso.
Listas en Python
Una lista es una colección de elementos que se pueden recorrer y modificar. Es ideal cuando tenemos datos homogéneos (del mismo tipo o con el mismo propósito) que queremos manejar en conjunto.
Ejemplos de listas en la vida real:
- Una lista de usuarios registrados en un sistema.
- Una lista de palabras prohibidas en un filtro de contenido.
- Una lista de tareas por hacer.
En Python, una lista se ve así:
usuarios = ["Juan", "María", "Carlos"]
tareas = ["Comprar leche", "Estudiar Python", "Hacer ejercicio"]
Las listas pueden crecer, reducirse y sus elementos pueden cambiar de posición.
¿Podemos representar un punto con una lista?
Un punto es un conjunto de dos valores: una coordenada x y una coordenada y. Técnicamente podríamos representarlo con una lista así:
punto = [2, 3]
x primero, y después).
Por ejemplo, si alguien accidentalmente agregara otro número a la lista:
punto.append(5) # Ahora la lista tiene tres elementos
El significado de "punto" se pierde completamente.
¿Por qué una tupla es mejor?
punto = (2, 3)
Al usar una tupla para representar un punto, protegemos sus datos: siempre tendrá exactamente dos valores (x, y), en el orden correcto, y nadie podrá modificarlo accidentalmente.
⏬ Veamos un ejemplo dentro de una función:
def reflejar_punto(punto):
x, y = punto # Desempaquetamos la tupla en dos variables
return (-x, y) # Devolvemos una nueva tupla con x invertida
punto_original = (2, 3)
punto_reflejado = reflejar_punto(punto_original)
print(punto_reflejado) # (-2, 3)
Aquí, punto siempre tiene exactamente dos valores, y Python no nos dejará alterarlos por accidente.
Diccionarios: una alternativa aún más clara
🤔 ¿Y si queremos que nuestro código sea más fácil de leer? Aquí entran los diccionarios, que permiten asociar valores con nombres en lugar de posiciones numéricas.
punto = {"x": 2, "y": 3}
Aquí, en lugar de acceder a los datos con punto[0] o punto[1] (lo cual puede ser confuso), podemos hacerlo con nombres:
print(punto["x"]) # 2
print(punto["y"]) # 3
Los diccionarios son útiles porque:
✅ Hacen que el código sea más fácil de leer.
punto["x"]es más claro quepunto[0].
✅ Nos permiten extender la estructura sin afectar el código existente.
- Por ejemplo, podemos agregar un color al punto:
python punto["color"] = "rojo"
✅ Son ideales cuando tenemos más de dos atributos.
- Si en el futuro queremos agregar más información (por ejemplo, un identificador único o una etiqueta), podemos hacerlo sin descomponer un código basado en tuplas.
¿Cómo representar un segmento de línea?
Si un punto se puede representar con una tupla o un diccionario, un segmento de línea (dos puntos) podría representarse con una colección de ellos.
Usando una lista de tuplas:
segmento = [(2, 3), (-8, 10)]
Este enfoque funciona, pero obliga a que siempre recordemos que el primer elemento de la lista es el punto de inicio y el segundo es el punto final.
Usando un diccionario de diccionarios:
segmento = {
"inicio": {"x": 2, "y": 3},
"fin": {"x": -8, "y": 10},
}
Aquí, queda claro sin ambigüedades qué punto es cuál:
print(segmento["inicio"]["x"]) # 2
print(segmento["fin"]["y"]) # 10
Resumen
- Para representar puntos en un plano cartesiano:
- Las listas no son la mejor opción, porque están diseñadas para colecciones de elementos independientes y pueden modificarse accidentalmente.
- Las tuplas son mejores, porque garantizan que un punto siempre tendrá dos valores en la posición correcta.
- Los diccionarios son aún más claros, porque permiten acceder a los valores por nombre en lugar de por posición.
- Para segmentar líneas, los diccionarios ayudan a clarificar la estructura y facilitan la lectura y mantenimiento del código.
Siempre vale la pena elegir la estructura de datos que haga que nuestro código sea más fácil de leer, entender y mantener.
Para acceder completo a curso necesitas un plan básico
El plan básico te dará acceso completo a todos los cursos, ejercicios y lecciones de Códica, proyectos y acceso de por vida a la teoría de las lecciones completadas. La suscripción se puede cancelar en cualquier momento.