Mapas y Funciones Reducir en Python son funciones incorporadas que se pueden utilizar para manipular y transformar datos en listas y otras estructuras de datos. Las funciones de mapa y reducción son conceptos fundamentales en programación funcional y también son útiles para el procesamiento de datos en paralelo.
Función de mapa:
La función `map()` en Python toma en dos argumentos: una función y una lista (o cualquier otro iterable). `map()` aplica la función a todos los elementos de la lista y devuelve un iterable map que se puede convertir en una lista.
```python
def square(x):
return x**2
numbers = [1, 2, 3, 4, 5]
squared = map(square, numbers)
print(squared) # salida: [1, 4, 9, 16, 25]
```
Así que lo que sucede aquí es que la función `square()` se aplica a cada elemento en la lista `numbers`.
Función reduce:
La función `reduce()` en Python toma en dos argumentos similares a la función `map()`, pero en lugar de aplicar la función a cada elemento de la lista de forma individual, `reduce()` aplica la función acumulativamente a los elementos de la lista, de izquierda a derecha, de modo a reducir la lista a un solo valor.
Para usar la función `reduce()`, debes importarla del módulo `functools`.
Aquí está un ejemplo:
```python
from functools import reduce
def multiply(x, y): return x * y
numbers = [1, 2, 3, 4, 5]
result = reduce(multiply, numbers)
print(result) # salida: 120
```
Por lo tanto, `reduce()` aplicará la función `multiply()` primeramente a los primeros dos elementos de la lista, luego aplicará la función al resultado de la primera operación y al tercer elemento de la lista, y así sucesivamente, hasta que se procesen todos los elementos de la lista y se obtenga un solo resultado.