map函数和reduce函数的区别

Posted maaosheng

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了map函数和reduce函数的区别相关的知识,希望对你有一定的参考价值。

①从参数方面来讲:
map()函数:
  map()包含两个参数,第一个是参数是一个函数,第二个是序列(列表或元组)。其中,函数(即map的第一个参数位置的函数)可以接收一个或多个参数。
reduce()函数:
reduce() 第一个参数是函数,第二个是 序列(列表或元组)。但是,其函数必须接收两个参数。

②从对传进去的数值作用来讲:
map()是将传入的函数依次作用到序列的每个元素,每个元素都是独自被函数“作用”一次;
reduce()是将传人的函数作用在序列的第一个元素得到结果后,把这个结果继续与下一个元素作用(累积计算),
最终结果是所有的元素相互作用的结果。
练习:
计算:lambda和reduce实现1到100的累加
from functools import reduce
print(reduce(lambda x,y:sum([x,y]),range(1,101)))  #第一个参数是一个函数,第二个参数是一个序列
print(map(lambda x,y:sum([x,y]),range(1,101)))  #第一个参数是一个函数,第二个参数是一个序列
print(list(map(lambda x,y:sum([x,y]),range(1,101),range(1,101))))  #第一个参数是一个函数,第二个参数是一个序列

打印结果:

技术图片

 

以上是关于map函数和reduce函数的区别的主要内容,如果未能解决你的问题,请参考以下文章

Python reduce / map / filter 函数区别

python reduce/map/filter函数区别

如何形象地解释 JavaScript 中 map,foreach,reduce 间的区别

map、foreach、reduce、filters的用法及区别

如何形象地解释 JavaScript 中 map,foreach,reduce 间的区别

如何形象地解释 JavaScript 中 map,foreach,reduce 间的区别