Listas en Python: creación, modificación y métodos esenciales
Clase 22 de 32 • Curso de Fundamentos de Python
Resumen
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)) #
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)) #
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.