Python中map和reduce

Python学习

map函数:接收两个参数,一个是函数,一个是Iterable(迭代,可以理解为连续的一组数据,可以遍历的数据,包含内置的string、list、dict、tuple)

例子:

>>def  f(x):

      return x*x

>>>r=map(f,[1,2,3])

>>>list(r)

[1,4,9]

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



参考资料:https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/0014317852443934a86aa5bb5ea47fbbd5f35282b331335000
原文地址:https://www.cnblogs.com/Qiangcm/p/7814677.html