Las listas en Python son una de las primeras colecciones que necesitas dominar si quieres manejar datos de forma eficiente. Aquí aprenderás qué son, cómo crearlas, modificarlas y qué métodos te permiten ordenarlas, unirlas o eliminar elementos, todo con ejemplos prácticos pensados para quien empieza a programar.
¿Qué es una lista en Python y qué la hace especial?
Una lista es una colección de elementos asignados a una sola variable. Tiene tres características que la definen: es ordenada, mutable y permite duplicados. Eso significa que cada elemento ocupa una posición fija, puedes cambiarlo cuando quieras y nada te impide repetir valores.
Mira este ejemplo simple con frutas:
python
frutas = ["manzana", "naranja", "mandarina"]
print(frutas)
print(type(frutas)) # <class 'list'>
Al imprimirla, Python te devuelve la lista tal como la escribiste y confirma que es de tipo list [01:00].
¿Qué significa que una lista sea ordenada? Que cada elemento tiene una posición fija llamada índice, y los índices empiezan en cero. El primer elemento es el índice 0, el segundo es el 1, y así sucesivamente.
¿Cómo accedo y modifico elementos por índice?
Para acceder a un elemento usas corchetes con el índice. Si quieres la naranja, escribes frutas[1] porque es la segunda posición [01:30]. Y como las listas son mutables, puedes sobrescribir ese valor directamente:
python
frutas[1] = "banana"
print(frutas) # ['manzana', 'banana', 'mandarina']
Un detalle importante: Python lee el código de arriba hacia abajo. Si imprimes la lista antes del cambio, verás el valor original; si la imprimes después, verás el nuevo.
¿Puedo mezclar tipos de datos en una lista?
Sí, y aquí viene lo interesante. Una lista puede contener strings, números y booleanos al mismo tiempo:
python
lista = ["Juan", 25, True]
print(type(lista)) # <class 'list'>
Python no te obliga a que todos los elementos sean del mismo tipo [03:30].
¿Cómo cuento cuántos elementos tiene una lista?
Usa len(), que viene de length (largo en inglés). Funciona igual que con strings:
python
print(len(frutas)) # 4
¿Qué métodos puedo usar para modificar una lista?
Python te da varios métodos para agregar, quitar y reorganizar elementos. Son las herramientas que vas a usar todo el tiempo cuando trabajes con colecciones.
¿Cómo agrego elementos con append e insert?
El método append agrega un elemento al final de la lista. El método insert te permite elegir exactamente en qué posición lo colocas [05:30].
python
vehiculos = ["auto", "moto", "avion"]
vehiculos.append("barco")
['auto', 'moto', 'avion', 'barco']
vehiculos.insert(1, "bicicleta")
['auto', 'bicicleta', 'moto', 'avion', 'barco']
Cuando insertas en el índice 1, todos los elementos que estaban desde esa posición se corren un lugar adelante.
¿Cómo elimino elementos con remove y pop?
Tienes dos formas: remove elimina pasándole el valor del elemento, mientras que pop lo elimina pasándole el índice [07:00].
python
vehiculos.remove("auto") # elimina por valor
vehiculos.pop(1) # elimina por índice
¿Cuál es la diferencia entre remove y pop? remove recibe el elemento que quieres borrar, pop recibe la posición. Usa pop cuando sepas el índice y remove cuando sepas el valor.
¿Cómo ordeno una lista alfabética o inversamente?
Con sort ordenas alfabéticamente y con reverse inviertes el orden actual:
python
vehiculos.sort() # orden alfabético
vehiculos.reverse() # orden invertido
¿Cómo trabajo con rangos y verifico elementos?
Las listas comparten propiedades con los strings. Puedes tomar un rango de elementos usando dos puntos entre los índices:
python
print(frutas[0:2]) # del índice 0 hasta el 1
print(frutas[:2]) # desde el inicio hasta el 1
print(frutas[1:]) # desde el índice 1 hasta el final
Recuerda: el índice final no es inclusivo. Si pones [0:2], obtienes los elementos en las posiciones 0 y 1, no el 2 [04:30].
Para verificar si un elemento existe dentro de una lista, usas la palabra in dentro de un condicional:
python
if "manzana" in frutas:
print("La manzana está dentro de las frutas")
Esto convierte la verificación en una condición verdadera y ejecuta el bloque interno del if.
¿Cómo uno dos listas en Python?
Tienes dos caminos: el operador + y el método extend. La diferencia es clave [09:30].
- El operador
+ crea una nueva lista resultado de concatenar las dos originales sin modificarlas.
- El método
extend modifica la primera lista, agregándole los elementos de la segunda.
- Ambos producen el mismo contenido final, pero el efecto sobre las listas originales es distinto.
python
coleccion1 = [1, 2, 3]
coleccion2 = [4, 5, 6]
coleccion3 = coleccion1 + coleccion2 # nueva lista [1,2,3,4,5,6]
coleccion1.extend(coleccion2) # coleccion1 ahora es [1,2,3,4,5,6]
Si necesitas conservar las listas originales intactas, usa el operador +. Si quieres acumular elementos en una lista existente, extend es tu opción.
¿Qué método de listas te ha resultado más útil hasta ahora? Cuéntame en los comentarios cómo lo estás aplicando en tus proyectos.