1、map
map()函数接收两个参数,一个是函数,一个是Iterable,map将传入的函数依次作用到序列的每个元素,并把结果作为新的Iterator返回。
def f(x):
return x*x
r = map(f,[1,2,3,4,5,6,7,8,9])
print(list(r))
[1,4,9,16,25,36,49,64,81]
2、reduce
reduce把一个函数作用在一个序列[x1, x2, x3, ...]上,这个函数必须接收两个参数,reduce把结果继续和序列的下一个元素做累积计算,其效果就是:
reduce(f, [x1, x2, x3, x4]) = f(f(f(x1, x2), x3), x4)
比方说对一个序列求和,就可以用reduce实现:
>>> from functools import reduce
>>> def add(x, y):
... return x + y
...
>>> reduce(add, [1, 3, 5, 7, 9])
25
本文详细介绍了Python中的高阶函数map和reduce的使用方法。map函数可以将指定函数应用于序列的每一个元素,生成新的迭代器;reduce函数则通过累积方式,将函数作用于序列的所有元素上,实现序列的归约操作。通过具体实例,如求平方和等,展示了这两个函数的强大功能。
5179

被折叠的 条评论
为什么被折叠?



