📋 Listas en Python

Aprende a almacenar, organizar y manipular colecciones de datos en una sola variable.

1. ¿Qué es una Lista?

Una lista es una estructura de datos que permite guardar varios valores en una sola variable. En Python, las listas son ordenadas (cada elemento tiene una posición) y mutables (se pueden modificar agregando, quitando o cambiando sus elementos).

Para crear una lista, encerramos sus elementos entre corchetes [ ] y los separamos por comas.

# Lista de cadenas de texto
frutas = ["manzana", "banano", "naranja"]

# Lista de números
notas = [85, 90, 78, 100]

# Lista vacía
lista_vacia = []

2. Acceso a los Elementos (Índices)

Cada elemento de una lista tiene un índice numérico. Recuerda que en programación los índices siempre empiezan en 0.

📌 Importante:
colores = ["rojo", "verde", "azul", "amarillo"]

print(colores[0])   # Imprime: rojo (primer elemento)
print(colores[2])   # Imprime: azul (tercer elemento)
print(colores[-1])  # Imprime: amarillo (último elemento)

3. Agregar y Modificar Elementos

Podemos cambiar el valor de un elemento existente usando su índice o agregar nuevos elementos con métodos incorporados:

animales = ["perro", "gato"]

# Modificar un elemento existente
animales[0] = "loro"        # Cambia "perro" por "loro"

# Agregar al final
animales.append("conejo")   # Lista: ["loro", "gato", "conejo"]

# Insertar en una posición específica
animales.insert(1, "pez")    # Lista: ["loro", "pez", "gato", "conejo"]

4. Eliminar Elementos

Para remover elementos disponemos de varias herramientas según la necesidad:

numeros = [10, 20, 30, 40, 50]

# 1. Eliminar por valor exacto
numeros.remove(20)   # Elimina el número 20 -> [10, 30, 40, 50]

# 2. Eliminar por índice (guardando el valor eliminado)
eliminado = numeros.pop(0) # Elimina el índice 0 (el 10) -> [30, 40, 50]

# 3. Eliminar por índice usando la instrucción 'del'
del numeros[1]       # Elimina el elemento en la posición 1 (el 40) -> [30, 50]

5. Funciones Básicas y Útiles

numeros = [5, 12, 2, 8]

len(numeros)  # Devuelve la cantidad de elementos (4)
sum(numeros)  # Suma todos los elementos numéricos (27)
max(numeros)  # Obtiene el valor máximo (12)
min(numeros)  # Obtiene el valor mínimo (2)

💻 Taller Práctico: 10 Ejercicios Problema

Resuelve los siguientes problemas utilizando lo aprendido sobre listas en Python.

Ejercicio 1

Lista de Supermercado Básico

Crea una lista llamada compras con 4 productos. Imprime en pantalla el primer producto y el último producto utilizando sus respectivos índices.

Ejercicio 2

Corrección de Calificaciones Básico

Tienes la lista notas = [6.5, 7.0, 4.0, 8.5]. Ocurrió un error de digitación y la tercera nota (4.0) debía ser un 5.5. Modifica dicho elemento usando su índice e imprime la lista corregida.

Ejercicio 3

Bienvenida a un Nuevo Compañero Básico

Crea una lista llamada estudiantes con tres nombres. Solicita al usuario ingresar un nuevo nombre usando input() y agrégalo al final de la lista con .append(). Imprime la lista completa.

Ejercicio 4

Gestor de Tareas Pendientes Básico

Crea la lista tareas = ["Estudiar", "Lavar platos", "Ordenar habitación", "Pasear al perro"]. Elimina la tarea "Lavar platos" utilizando .remove() e imprime las tareas restantes.

Ejercicio 5

Control de Ventas Diarias Intermedio

Dada la lista de ventas de la semana: ventas = [120, 85, 200, 150, 95], calcula e imprime en pantalla el total de ingresos (suma) y el promedio de ventas por día.

Ejercicio 6

Intercambio de Canciones Intermedio

Crea una lista llamada playlist con 3 canciones. Intercambia la primera canción con la última utilizando asignación por índice o una variable auxiliar. Imprime la lista resultante.

Ejercicio 7

Récord Deportivo Básico

Un atleta registró sus tiempos en segundos: tiempos = [12.4, 11.8, 12.1, 11.5, 12.0]. Muestra en pantalla cuál fue su mejor tiempo (el más bajo) y su peor tiempo (el más alto) usando las funciones min() y max().

Ejercicio 8

Podio de Competencia Intermedio

Dada la lista competidores = ["Carlos", "Ana", "Sofia"], llega un nuevo competidor llamado "Luis" que obtuvo el segundo lugar. Utiliza .insert() para colocar a Luis en el índice 1 e imprime la lista.

Ejercicio 9

Atención al Cliente (Fila Virtual) Intermedio

Crea la lista turnos = ["Cliente 1", "Cliente 2", "Cliente 3", "Cliente 4"]. Atiende (elimina) al primer cliente de la lista usando .pop(0) o la instrucción del turnos[0] e imprime un mensaje que diga: "Se atendió al cliente" y muestra quiénes quedan en la fila.

Ejercicio 10

Registro de Temperaturas Reto Integra

Crea una lista vacía temperaturas = []. Pide al usuario que ingrese 3 temperaturas una por una (usando input() y convirtiendo a float) y agrégalas a la lista. Al finalizar, muestra cuántas temperaturas se registraron (con len()) y el promedio de estas.