7. Listas y Tuplas: Estructuras de Datos Ordenadas 📦
1. Listas: Colecciones Elásticas y Mutables
Una lista es una secuencia ordenada de elementos que se define utilizando corchetes []. Las listas en Python son mutables, lo que significa que puedes añadir, quitar o modificar sus elementos después de haberlas creado.
Operaciones y Métodos Esenciales de las Listas
Python ofrece un set de herramientas integradas muy potente para manipular listas:
🛠️ Catálogo de Métodos
.append(item): Añade un elemento al final de la lista..insert(posicion, item): Inserta un elemento en un índice específico..remove(valor): Busca y elimina el primer elemento que coincida con el valor especificado..pop(indice): Elimina y retorna el elemento en el índice indicado (si no pasas índice, elimina el último)..sort(): Ordena los elementos de la lista (alfabéticamente o de menor a mayor)..reverse(): Invierte el orden actual de la lista.
2. Slicing Avanzado: Recortes de Listas
El slicing (rebanado) te permite extraer fragmentos de una lista utilizando la sintaxis lista[inicio:fin:paso].
inicio: El índice donde arranca el recorte (incluido).fin: El índice donde termina el recorte (excluido).paso: El intervalo de saltos (por defecto es 1).
3. Tuplas: Inmutabilidad y Desempaquetado
Una tupla se define utilizando paréntesis (). Su característica principal es que es inmutable: una vez que se crea, no puedes modificar, añadir ni remover ningún elemento.
¿Por qué usar tuplas en lugar de listas? Son más rápidas en memoria y protegen los datos contra modificaciones accidentales (ej. coordenadas geográficas, días de la semana, configuraciones fijas).
Desempaquetado de Tuplas (Tuple Unpacking)
Python permite extraer los valores de una tupla directamente en variables individuales en una sola línea de código:
4. Tabla Comparativa: Listas vs. Tuplas
| Característica | Lista [] | Tupla () |
|---|---|---|
| Mutabilidad | Mutable (se puede modificar) | Inmutable (fija) |
| Rendimiento | Más lenta (reserva espacio extra) | Más rápida y ligera |
| Casos comunes | Listas dinámicas (Ej. carrito de compras) | Datos estructurados fijos (Ej. coordenadas GPS) |
5. Caso de Estudio: Análisis de un Mantenedor de Productos 🐘
En el mundo real, las listas y las tuplas suelen combinarse para representar bases de datos en memoria. A continuación, representaremos un catálogo de productos como una lista de tuplas, donde cada tupla representa un producto con la estructura: (código, nombre, precio, categoría, stock).
Operación 1: Encontrar el producto más caro y el más barato
Para buscar extremos de valores en una lista de tuplas, podemos inicializar variables acumuladoras con el primer elemento de la lista e iterar comparando los precios (índice 2 de la tupla):
Operación 2: Sumar el total de productos en inventario
Para saber la cantidad total de unidades físicas que tenemos almacenadas, sumamos el stock de cada tupla (índice 4):
Operación 3: Filtrar y contar productos de una categoría
Para saber cuántos productos diferentes pertenecen a la categoría "Electrónica" (índice 3), usamos un contador condicional:
🐍 Desafío: Gestión de Cafetería
Crea una lista llamada pedido con tres bebidas. Luego:
1. Añade "latte" al final.
2. Reemplaza la segunda bebida por "espresso".
3. Elimina y guarda la primera bebida del pedido.
4. Imprime el pedido restante y la bebida que eliminaste al revés.
👁️ Ver solución sugerida
Prueba tus conocimientos
Responde las preguntas rápidas para validar que dominas la diferencia entre listas, tuplas y técnicas de corte.