Map, Reduce y Filter en Python 3
Hace un buen rato conocí las funciones map
, reduce
y filter
, escribo este post ya que como no las utilizo muy menudo, siempre que necesito utilizarlas, gasto algo de tiempo volviendo a recordar su uso. So… este es mi forma de recordar cómo utilizarlas, espero les sea útil.
Map
¿Para qué puede servir?
R:/ Realizar una operación a cada elemento de una lista
Ejemplo:
A = [1, 2, 3, 4]
B = map(lambda x: x + 1, A)
print(B)
<map object at ...>
print(list(B))
=> [2, 3, 4, 5]
Reduce
¿Para qué puede servir?
R:/ Obtener un resultado de una lista de elementos
Ejemplo:
from functools import reduce
A = [10, 2, 4, 1, 1]
B = reduce(lambda x, y: x + y, A)
print(B)
==> 18
Filter
¿Para qué puede servir?
R:/ Seleccionar elementos de una lista
Ejemplo:
A = [1, 7, 9, 11, 19, 17, 18, 20]
B = filter(lambda x: x % 2 == 0, A)
print(B)
<filter object at ...>
print(list(B))
==> [8, 18]