Aprende a dominar las listas en Python con ejemplos simples y prácticos. Entenderás qué son, cómo funcionan los índices, cómo modificar elementos y qué métodos usar para agregar, eliminar, ordenar y unir colecciones. Con estas bases, escribirás código más claro y efectivo.
¿Qué es una lista en Python y cómo se comporta?
Las listas son colecciones almacenadas en una sola variable. Son ordenadas, mutables y permiten duplicados. Esto habilita operaciones de actualización y acceso preciso por posición sin perder el orden original.
¿Qué significa que sea ordenada, mutable y con duplicados?
- Una lista mantiene el orden de inserción.
- Se pueden cambiar sus elementos por índice.
- Acepta elementos repetidos.
Ejemplo base con frutas, verificación de tipo y acceso por índice:
frutas = ["manzana", "naranja", "mandarina"] print(frutas) # ['manzana', 'naranja', 'mandarina'] print(type(frutas)) # <class 'list'> print(frutas[1]) # 'naranja' (índices desde 0) # Modificar por índice (mutabilidad) frutas[1] = "banana" print(frutas[1]) # 'banana' print(frutas) # ['manzana', 'banana', 'mandarina'] # Duplicados frutas.append("naranja") # ahora hay otra 'naranja' al final print(frutas) # ['manzana', 'banana', 'mandarina', 'naranja']
Nota clave: Python ejecuta de arriba hacia abajo. Verás cambios reflejados solo después de la línea que modifica la lista.
¿Se pueden mezclar tipos y medir el largo?
Sí. Una lista puede contener distintos tipos: string, número y booleano. Para contar elementos, usa len (proviene de length en inglés).
mixta = ["TuNombre", 42, True] print(mixta) # ['TuNombre', 42, True] print(type(mixta)) # <class 'list'> print(len(mixta)) # 3 print(len(frutas)) # 4
¿Cómo acceder y recorrer por índices y rangos?
Trabajar con índices e intervalos te permite seleccionar porciones de la lista. Recuerda: los índices inician en 0 y los rangos usan el patrón inicio:fin sin incluir el fin.
¿Cómo funcionan los índices y el slicing?
- Índice directo:
frutas[1] accede al segundo elemento.
- Rango inicio:fin (no inclusivo):
frutas[0:2].
- Desde el inicio:
frutas[:2].
- Desde un índice al final:
frutas[1:].
# Suponiendo frutas = ['manzana', 'banana', 'mandarina', 'naranja'] print(frutas[0:2]) # ['manzana', 'banana'] print(frutas[:2]) # ['manzana', 'banana'] print(frutas[1:]) # ['banana', 'mandarina', 'naranja']
La regla práctica: el límite superior no se incluye. Úsalo para particionar sin errores.
¿Cómo comprobar pertenencia con in?
La palabra clave in verifica si un elemento existe en la colección y evalúa a verdadero o falso. Útil en condiciones if.
if "manzana" in frutas: print("la manzana está dentro de las frutas") # Salida: la manzana está dentro de las frutas
¿Qué métodos prácticos optimizan el trabajo con listas?
Con métodos incorporados, puedes agregar, insertar, eliminar y ordenar sin esfuerzo. Estos atajos hacen tu código más legible y expresivo.
¿Cómo agregar, eliminar y ordenar elementos?
Ejemplo con vehículos y métodos clave: append, insert, remove, pop, sort, reverse.
vehiculos = ["auto", "moto", "avión"] # Agregar al final vehiculos.append("barco") # ['auto', 'moto', 'avión', 'barco'] # Insertar por índice (desplaza lo que sigue) vehiculos.insert(1, "bicicleta") # ['auto', 'bicicleta', 'moto', 'avión', 'barco'] # Eliminar por valor vehiculos.remove("auto") # ['bicicleta', 'moto', 'avión', 'barco'] # Eliminar por índice vehiculos.pop(1) # quita 'moto' # ['bicicleta', 'avión', 'barco'] # Ordenar alfabéticamente vehiculos.sort() # ['avión', 'barco', 'bicicleta'] # Orden invertido vehiculos.reverse() # ['bicicleta', 'barco', 'avión']
Puntos clave: - append agrega al final. - insert(i, x) agrega en el índice i. - remove(x) borra la primera coincidencia del valor. - pop(i) quita por índice y devuelve el elemento. - sort() ordena en forma alfabética por defecto. - reverse() invierte el orden actual.
¿Cómo unir listas con + y extend?
Tienes dos formas de concatenar colecciones: con el operador + o con extend. La diferencia: + crea una nueva lista; extend modifica la existente.
coleccion1 = [1, 2, 3] coleccion2 = [4, 5, 6] # Nueva lista concatenada coleccion3 = coleccion1 + coleccion2 print(coleccion3) # [1, 2, 3, 4, 5, 6] # Extender en sitio (modifica coleccion1) coleccion1.extend(coleccion2) print(coleccion1) # [1, 2, 3, 4, 5, 6]
Consejo práctico: - Usa + cuando quieras conservar las originales. - Usa extend cuando busques eficiencia y modificar en sitio.
¿Te quedó alguna duda o tienes un ejemplo propio con listas que quieras optimizar? Compártelo y lo revisamos juntos.