Programación Funcional
Python soporta parcialmente la programación funcional, lo que permite escribir código más limpio y conciso.
Conceptos clave
lambda: Funciones anónimas.
map: Aplica una función a cada ítem de un iterable.
filter: Filtra elementos de un iterable según una condición.
reduce: Reducción de un iterable a un único valor.
Comprensión de listas y generadores.
Ejemplo
# Uso de lambda y map
= [1, 2, 3, 4]
numeros = list(map(lambda x: x * 2, numeros))
dobles print(dobles)
# Uso de filter
= list(filter(lambda x: x % 2 == 0, numeros))
pares print(pares)
# Uso de reduce
from functools import reduce
= reduce(lambda x, y: x + y, numeros)
suma print(suma)
Ejemplo Práctico
Objetivo:
Aprender a utilizar funciones lambda y operaciones como map, filter y reduce para trabajar con colecciones de datos.
Descripción:
Crear un programa que utilice una lista de números para aplicar operaciones funcionales usando lambda, map, filter y reduce.
Instrucciones:
Crea una lista de números del 1 al 10.
Usa map con una función lambda para obtener el doble de cada número.
Usa filter para filtrar solo los números pares.
Usa reduce para obtener la suma de todos los números en la lista.
Posibles soluciones
Código:
from functools import reduce
# Lista de números
= [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
numeros
# Usando map con lambda
= list(map(lambda x: x * 2, numeros))
dobles print(f"Lista de dobles: {dobles}")
# Usando filter con lambda
= list(filter(lambda x: x % 2 == 0, numeros))
pares print(f"Números pares: {pares}")
# Usando reduce con lambda
= reduce(lambda x, y: x + y, numeros)
suma print(f"Suma de números: {suma}")