Pregunta: ¿Como utilizar map, filter y reduce? Respuestas: map(
función,
iterable,
...)
Aplica
función a cada objeto de
iterable y regresa una lista con los resultados.
Ejemplo:
Código Python:
Ver originaldef funct(x):
#Regresa el cuadrado de un numero
return x ** 2
l = range(10)
#l = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
l2 = map(funct, l)
#l2 = [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
map(funct, l) es equivalente al siguiente código usando comprensión de listas:
filter(
función,
iterable,
...)
Construye una lista apartir de esos elementos de
iterable para los cuales
función regresa verdadero
Ejemplo:
Código Python:
Ver originaldef funct(x):
if(x > 5):
return True
l = range(10)
#l = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
l2 = filter(funct, l)
#l2 = [6, 7, 8, 9]
filter(funct, l) es equivalente al siguiente código usando comprensión de listas:
Código Python:
Ver originall2 = [ x for x in l if funct(x) ]
reduce(
función,
iterable,
...)
Aplica
función de 2 argumentos acumulativamente a cada elemento de
iterable, de izquierda a derecha, así reduce iterable a un solo valor.
Ejemplo:
Código Python:
Ver originaldef funct(x, y):
return x + y
l = range(1, 6)
#l = [1, 2, 3, 4, 5]
r = reduce(funct, l)
#r = ((((1+2)+3)+4)+5) = 15
*Iterable, llamese lista, string (o cadena), un conjunto (o set), un diccionario, tupla, etc... básicamente cualquier objeto que tenga el metodo
__iter__
Para usos mas complejos leer la documentación.