Tutoriales Interactivos
BlogIniciar sesiónComenzar gratis
Inicio›Blog›Python›Comprensión de listas en Python (list comprehension)

Comprensión de listas en Python (list comprehension)

Una de las características más elegantes de Python es la comprensión de listas. Te permite crear una lista nueva a partir de otra en una sola línea, de forma más legible y eficiente que un ciclo for tradicional.

¿Qué es la comprensión de listas?

Es una forma compacta de crear listas. En lugar de escribir un for con un append, escribes todo en una sola expresión dentro de corchetes.

Sintaxis

nueva_lista = [expresion for elemento in iterable]

# Con condición:
nueva_lista = [expresion for elemento in iterable if condicion]

Ejemplo 1: comparación con for tradicional

La forma tradicional de obtener los cuadrados del 1 al 5:

# Con for
cuadrados = []
for n in range(1, 6):
    cuadrados.append(n ** 2)

# Con comprensión de listas
cuadrados = [n ** 2 for n in range(1, 6)]

print(cuadrados)  # [1, 4, 9, 16, 25]

Mismo resultado, una sola línea.

Ejemplo 2: filtrar con condición

Obtener solo los números pares de una lista:

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

pares = [n for n in numeros if n % 2 == 0]

print(pares)  # [2, 4, 6, 8, 10]

Ejemplo 3: transformar strings

Convertir una lista de nombres a mayúsculas y filtrar los que tienen más de 4 letras:

nombres = ["ana", "carlos", "em", "maría", "bo"]

largos_mayus = [n.upper() for n in nombres if len(n) > 4]

print(largos_mayus)  # ['CARLOS', 'MARÍA']

Cuándo usar comprensión de listas

Úsala cuando la operación es simple y cabe en una línea sin perder claridad. Para lógica más compleja, un for tradicional es más legible.

# Simple: usa comprensión
dobles = [n * 2 for n in numeros]

# Complejo: mejor un for
resultado = []
for n in numeros:
    if n > 3:
        valor = n ** 2 - n + 1
        if valor < 100:
            resultado.append(valor)

Comprensión de diccionarios

La misma sintaxis funciona para diccionarios:

precios = {"manzana": 500, "pera": 800, "uva": 1200}

# Aplicar 10% de descuento a todos
con_descuento = {k: v * 0.9 for k, v in precios.items()}
print(con_descuento)
# {'manzana': 450.0, 'pera': 720.0, 'uva': 1080.0}

Errores frecuentes

Comprensiones demasiado complejas: Si necesitas más de una condición o una transformación de varios pasos, usa un for tradicional. La legibilidad es más importante que la brevedad.

Olvidar que crea una nueva lista: La comprensión no modifica la lista original — siempre genera una nueva. Guarda el resultado en una variable.

Aprende haciendo, no solo leyendo

Leer es el primer paso. El verdadero aprendizaje ocurre cuando practicas con ejercicios reales de Python y recibes corrección inmediata de IA.

Comenzar gratis →
Desafío Latam
+56 9 5117 7975
+52 1 55 4047 7251
[email protected]

Carreras

  • Full Stack JavaScript
  • Diseño UX/UI
  • Data Science
  • Data Analytics

Comunidad

  • Blog
  • Becas
  • Trabaja con Nosotros
  • Políticas de Calidad

Síguenos

© 2026 Desafío Latam. Todos los derechos reservados.