← Lumbre

Programación con Python para Datos · 2.º Comprensiones y funciones lambda

Portada de Comprensiones y funciones lambda

Comprensiones y funciones lambda

✦ Las comprensiones construyen listas, diccionarios y conjuntos declarativamente; las lambda son funciones exprés · Programación con Python para Datos · Programación · en 7 minutos

Roadwise Consulting

Firmado y verificado · Biblioteca UNIV

Objetivo: Escribir código Python expresivo con comprensiones y funciones lambda, y saber cuándo favorecen o dañan la legibilidad.

7 min Programación con Python para Datos · Programación 18–30 años
Más
Comprensiones y funciones lambda

Herramientas de la lección

◉ Entrar a La Matrix Sorpréndeme

Sobre este contenido

Ir a

Volver a Programación con Python para Datos · 2.º semestre Cursos Explorar Mi cuenta Salir del modo estudio

Comprensiones y funciones lambda

Ilustracion de Python para datos: DataFrame, graficas y arrays de NumPy.
Python para ciencia de datos: NumPy, pandas y manipulacion de datos.

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

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.

Construcciones declarativas que reemplazan bucles manuales.
EstructuraEjemplo (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 comprehensionk: len(k) para k en keysdiccionario de longitudes
Lambdalambda p: p[1] para ordenarfunció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.

Video complementario
Recurso audiovisual para reforzar los conceptos.

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.

Las respuestas y tu progreso se guardan sólo en este dispositivo. Contenido firmado por su autoría mediante Lumbre.
Más sobre esta lección
Explora temas relacionados

Conceptos

Comentarios

Inicia sesión para comentar.

Todavía no hay comentarios. Sé la primera persona en opinar.