Logo de CursoIA
CursoIA Curso de Inteligencia Artificial

Programación orientada a datos con Python, Unidad 6 — Programación funcional aplicada a datos, 6.1 — map y filter ·

Transformaciones de colecciones

Transformaciones de colecciones: map y filter

Introducción

En la programación orientada a datos con Python, map y filter son herramientas fundamentales para transformar y filtrar colecciones de datos. Estas funciones puras permiten trabajar con colecciones en una forma declarativa e imperativa, lo que hace el código más legible y eficiente.

Explicación principal

¿Qué son map y filter?

  • map: Aplica una función a cada elemento de una lista (o cualquier iterable) y devuelve un nuevo iterable con los resultados.
  • filter: Filttra los elementos de una lista (o cualquier iterable) aplicando una función que retorna True o False. Devuelve solo aquellos elementos para los cuales la función devuelva True.

Ejemplos

Ejemplo 1: Usar map y filter juntos

def es_par(n):
    return n % 2 == 0

def cuadrado(n):
    return n ** 2

numeros = [1, 2, 3, 4, 5, 6]
pares = list(filter(es_par, map(cuadrado, numeros)))

print(pares)  # [4, 16, 36]

En este ejemplo, map aplica la función cuadrado a cada número en la lista numeros, y luego filter filtra los resultados para solo mantener los números pares.

Errores típicos / trampas

  1. Usar map o filter con funciones que no devuelven valores: Ambas funciones requieren una función como argumento, asegúrate de que esa función retorne un valor.
  2. Desconocer el uso de list(): A diferencia de muchas otras funciones en Python, map y filter devuelven iteradores. Si necesitas usar la salida como una lista, conviértela a lista usando list().
  3. No aplicar correctamente las funciones: Comprueba que tus funciones estén recibiendo los parámetros correctos y retornando lo esperado.

Checklist accionable

  1. Conoce el uso de map y filter, asegúrate de entender cómo aplican una función a cada elemento en una colección.
  2. Prueba con diferentes tipos de iterables como listas, tuplas o generadores.
  3. Usa list() al final si necesitas convertir los resultados a una lista.
  4. Escribe funciones simples y comprobable, evita usar funciones complejas que puedan ser difíciles de depurar.
  5. Comprueba que las funciones devuelvan valores esperados antes de aplicarlas con map o filter.

Cierre

Siguientes pasos

  • Explicar el uso de map y filter en análisis de datos: Estas técnicas son esenciales para transformar y filtrar grandes conjuntos de datos.
  • Practicar con diferentes tipos de datos: Trabaja con listas, tuplas, sets o incluso generadores para mejorar tu comprensión.
  • Desarrolla habilidades en programación funcional: Utiliza estas técnicas como base para desarrollar soluciones más expresivas y eficientes.

Transformar y filtrar colecciones de datos es un paso fundamental en el análisis de datos. Con map y filter, puedes hacer que tu código sea más legible, mantenible y eficiente.

Contacto

Indica tu objetivo (ChatGPT, RAG, agentes, automatización) y tu stack (web/backend).