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ón | Sintaxis | Descripció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ón | Sintaxis | Descripció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
# 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
Domine declaraciones condicionales, bucles y estructuras de control de bucles en Python. Aprenda if-else, for, while, break y continue.
Hoja de referencia de funciones integradas de PythonGuía de referencia de las funciones integradas de Python. Aprenda a utilizar print, len, range, enumerate, zip, map, filter y más.
Hoja de referencia sobre estructuras de datos y colecciones de PythonGuía completa del módulo de colecciones de Python y estructuras de datos nativas. Aprenda listas, dictados, conjuntos, tuplas, deques y tuplas con nombre.
Recursos recomendados de Python
Amplíe sus conocimientos con tutoriales interactivos relacionados, hojas de trucos y comparaciones de códigos.
Comprensiones de Python
Escribe Python más limpio y rápido. Lista maestra, diccionario y conjuntos por comprensión con ejemplos prácticos, condiciones de filtrado y bucles anidados.
Cómo ordenar una lista en Python
Aprenda a ordenar una lista en Python usando el método sort() y la función sorted(). Descubra ejemplos de ordenación inversa y clasificación de claves personalizadas.
Python vs JavaScript: ¿Qué lenguaje de programación es mejor?
Una comparación completa entre Python y JavaScript. Explore las diferencias de sintaxis, el rendimiento, los casos de uso (backend frente a frontend) y ejemplos de codificación.