Comprensiones y funciones lambda

Mapa conceptual
- Python para Datos
- Entorno
- pip
- venv
- Reproducibilidad
- Funcional
- Comprensiones
- Lambda
- map filter
- Calidad
- try except
- pytest
- Asserts
- NumPy
- Arrays
- Broadcasting
- Indexacion
- Pandas
- DataFrame
- Groupby
- Merge Join
- Entorno
Comprensión de lista
Una comprensión construye una lista aplicando una expresión a cada elemento de un iterable, con opción de filtrar. Es la forma idiomática de mapear y filtrar sin escribir el bucle y el append a mano.
Dict y set
- Comprensión de diccionario: pares clave-valor generados en línea.
- Comprensión de conjunto: igual que la de lista, pero produce un set sin duplicados.
Funciones lambda
Una lambda define una función anónima de una sola expresión, usable donde hace falta un objeto invocable sin declararla con def: típico al ordenar con clave o al pasar una transformación breve.
| Estructura | Ejemplo (idea) | Devuelve |
|---|---|---|
| List comprehension | [x*x para x en nums] | lista de cuadrados |
| Con filtro | [x para x en nums si x 0] | solo los positivos |
| Dict comprehension | k: len(k) para k en keys | diccionario de longitudes |
| Lambda | lambda p: p[1] para ordenar | función clave exprés |
¿Cuál es la ventaja principal de una comprensión frente a un bucle con append?
Cuándo duele
Una comprensión anidada con dos filtros y una expresión larga es difícil de leer: si necesitas más de una o dos líneas lógicas, mejor un bucle normal. La legibilidad manda: la concisión no es un trofeo.
Lambda o def
- Lambda: una expresión corta, sin ramas ni sentencias, reutilizada en el mismo lugar.
- def: cuando hay varias líneas, condiciones o el comportamiento merece nombre propio.
map y filter
map aplica una función a cada elemento; filter conserva los que cumplen un predicado. En Python, muchas veces una comprensión es más clara que combinar map y filter. Úsalos cuando encajen con una función ya existente.
Una lambda puede contener varias sentencias y devoluciones con return.
Errores frecuentes
- Comprender con efectos secundarios (imprimir, mutar): la comprensión es para producir datos.
- Anidar comprensiones hasta volverlas indescifrables.
- Nombrar variables crípticas que ocultan qué genera la expresión.
Expresivo pero legible
Python premia leer como se escribe. Una comprensión bien nombrada es casi prosa: cuadrados de los pares mayores que dos. Si se puede leer así en voz alta, vas por buen camino.
Decide qué construcción corresponde:
Arrastra cada ficha a su categoría (o tócala y luego toca la categoría). También puedes usar el teclado.
Python DocsSección sobre comprensiones de lista y funciones.
Toma un bucle con append que filtra y transforma. Reescríbelo como comprensión y evalúa: ¿gana en claridad? Si la lógica creció demasiado, ¿qué hubieras preferido?
Tu texto se guarda sólo en este dispositivo.
Documentacion pandasGuia de referencia para manipulacion de datos en Python.
Comentarios
Inicia sesión para comentar.
Todavía no hay comentarios. Sé la primera persona en opinar.