Hoja de referencia de comprensión de Python

Escriba listas, diccionarios, conjuntos y generadores por comprensión concisos y legibles en Python.

Enumerar y establecer comprensiones

Creación de secuencias y conjuntos en línea utilizando bucles de azúcar sintácticos.

Método / FunciónSintaxisDescripción
List Comprehension[x * 2 for x in my_list]Construye una nueva lista aplicando expresiones a elementos de un iterable.
Conditional List[x for x in my_list if x > 0]Aplica un predicado de filtro, manteniendo solo los elementos que satisfacen la condición.
Nested Loops[x + y for x in list1 for y in list2]Aplana las operaciones anidadas. Ejecuta bucles internos para cada iteración del bucle externo.
Set Comprehension{x for x in my_list}Genera un conjunto, aplicando la deduplicación automáticamente.

Comprensiones de diccionario y generador

Generación de mapeos y flujos de evaluación diferida en línea.

Método / FunciónSintaxisDescripción
Dict Comprehension{k: v for k, v in pairs}Construye un diccionario en línea.
Conditional Dict{k: v for k, v in pairs if k is not None}Construye un diccionario ignorando valores no deseados.
Generator Expression(x ** 2 for x in range(10))Devuelve un objeto iterador generador diferido. Evalúa elementos uno a la vez para conservar la memoria.

Guión de demostración interactivo

run_all_cheat_methods.py
Ejecutar en el editor
# List Comprehension
[x * 2 for x in my_list]

# Conditional List
[x for x in my_list if x > 0]

# Nested Loops
[x + y for x in list1 for y in list2]

# Set Comprehension
{x for x in my_list}

# Dict Comprehension
{k: v for k, v in pairs}

# Conditional Dict
{k: v for k, v in pairs if k is not None}

# Generator Expression
(x ** 2 for x in range(10))

Preguntas frecuentes

¿Cuándo debo evitar el uso de listas por comprensión?

Evite las listas por comprensión si son demasiado complejas o tienen múltiples bucles anidados, ya que esto reduce la legibilidad del código.

¿Cuál es la diferencia entre una lista por comprensión y una expresión generadora?

Las listas por comprensión se evalúan inmediatamente y construyen la lista en la memoria, mientras que las expresiones generadoras generan elementos de forma perezosa según demanda, lo que ahorra memoria.

Temas relacionados

Recursos recomendados de Python

Amplíe sus conocimientos con tutoriales interactivos relacionados, hojas de trucos y comparaciones de códigos.