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))))  #第一个参数是一个函数,第二个参数是一个序列

打印结果:

posted @ 2019-03-19 20:03  jiaweil  阅读(446)  评论(0编辑  收藏  举报