Las listas son una de las estructuras de datos más importantes y versátiles en Python. Funcionan como colecciones ordenadas de elementos, permitiéndote almacenar y manipular prácticamente cualquier tipo de dato. Comprender cómo funcionan las listas es esencial para cualquier desarrollador Python.

A diferencia de otros lenguajes de programación que requieren matrices estáticas, Python ofrece gran flexibilidad. Una lista puede crecer o reducirse dinámicamente durante la ejecución y puede contener integers, strings, booleanos e incluso otras listas anidadas. En esta guía, exploraremos cómo crear, modificar, acceder y dominar las listas en Python.

🎯 Creando Listas

Crear una lista en Python es muy simple. Usamos corchetes para delimitar la colección y separamos los elementos con comas.

# Crear una lista vacía
nuevos_planetas = []

# Crear una lista con elementos
lenguajes = ["Python", "JavaScript", "Go", "Rust", "C++"]

# Crear una lista con tipos mixtos
datos = [1045, "texto", 3.14159, True, None]

# Crear una matriz (lista de listas)
matriz = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]

Esta flexibilidad permite modelar conjuntos de datos complejos. Para profundizar tu conocimiento sobre tipos de datos, lee nuestra guía sobre variables y tipos de datos en Python.

🔍 Accediendo a los Elementos

Para acceder a los elementos de una lista, usamos índices. En Python, los índices comienzan desde 0.

frutas = ["manzana", "platano", "naranja", "uva", "fresa", "pina"]

# Acceder al primer elemento
print(frutas[0])  # Salida: manzana

# Acceder al tercer elemento
print(frutas[2])  # Salida: naranja

# Acceder al último elemento
print(frutas[-1])  # Salida: pina

# Acceder al penúltimo elemento
print(frutas[-2])  # Salida: fresa

Slicing

El slicing te permite extraer porciones de una lista.

print(frutas[1:4])  # Salida: ["platano", "naranja", "uva"]
print(frutas[:3])   # Salida: ["manzana", "platano", "naranja"]
print(frutas[3:])   # Salida: ["uva", "fresa", "pina"]

➕ Añadiendo Elementos

numeros = [1, 2, 3]

# Agregar un elemento al final
numeros.append(4)
print(numeros)  # Salida: [1, 2, 3, 4]

# Insertar en una posición específica
numeros.insert(0, 0)
print(numeros)  # Salida: [0, 1, 2, 3, 4]

# Agregar múltiples elementos
numeros.extend([5, 6, 7])
print(numeros)  # Salida: [0, 1, 2, 3, 4, 5, 6, 7]

➖ Removiendo Elementos

colores = ["rojo", "azul", "verde", "amarillo", "azul"]

# Eliminar primera ocurrencia
colores.remove("azul")
print(colores)  # Salida: ["rojo", "verde", "amarillo", "azul"]

# Eliminar elemento por índice
color = colores.pop(0)
print(color)  # Salida: rojo

# Eliminar el último elemento
ultimo = colores.pop()
print(ultimo)  # Salida: azul

# Vaciar la lista
colores.clear()
print(colores)  # Salida: []

🔧 Métodos de Utilidad

numeros = [3, 1, 4, 1, 5, 9, 2, 6, 5]

# Ordenar ascendentemente
numeros.sort()
print(numeros)  # Salida: [1, 1, 2, 3, 4, 5, 5, 6, 9]

# Invertir orden
numeros.reverse()
print(numeros)  # Salida: [9, 6, 5, 5, 4, 3, 2, 1, 1]

# Contar ocurrencias
print(numeros.count(5))  # Salida: 2

# Encontrar índice
print(numeros.index(9))  # Salida: 0

# Longitud de la lista
print(len(numeros))  # Salida: 9

Para más información, consulta la documentación oficial de Python.

🔄 Iteración

planetas = ["Mercurio", "Venus", "Tierra", "Marte", "Júpiter"]

# Iteración simple
for planeta in planetas:
    print(f"Viajando a {planeta}")

# Con enumerate
for indice, planeta in enumerate(planetas):
    print(f"{indice + 1}. {planeta}")

💡 List Comprehension

La comprensión de listas es una forma elegante de crear listas en Python.

# Números pares
pares = [x for x in range(21) if x % 2 == 0]
print(pares)  # Salida: [0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20]

# Cuadrados
cuadrados = [x**2 for x in range(10)]
print(cuadrados)  # Salida: [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

# Formatear textos
nombres = ["ANA", "pedro", "MARIA", "juan"]
formateados = [nombre.capitalize() for nombre in nombres]
print(formateados)  # Salida: ['Ana', 'Pedro', 'Maria', 'Juan']

🎓 Proyecto Práctico

Para consolidar tu aprendizaje, hemos creado un proyecto de gestor de tareas usando listas. Puedes verlo en nuestro tutorial de proyectos para portafolio.

Las listas son fundamentales en Python y las usarás constantemente en tus proyectos. Practica estos conceptos y no dudes en consultar nuestra guía de diccionarios para aprender otra estructura de datos importante.