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.
- Índices positivos: 0 es el primer elemento, 1 es el segundo, etc.
- Índices negativos: -1 representa el último elemento, -2 el penúltimo, etc.
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:
- .append(valor): Agrega un elemento al final de la lista.
- .insert(posicion, valor): Inserta un elemento en una posición específica.
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:
- .remove(valor): Elimina la primera aparición de un valor exacto.
- .pop(posicion): Elimina y devuelve el elemento en la posición dada (si no se especifica posición, elimina el último).
- del lista[indice]: Palabra clave de Python para eliminar directamente un elemento (o varios) indicando su índice, sin retornar su valor.
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.
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.
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.
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.
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.
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.
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.
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().
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.
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.
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.