这两者的根本区别是:前者接受传入的【函数的参数】必须是两个,但是后者可以接受函数的参数是多个的
①从参数方面来讲:
map()函数:
map()包含两个参数,第一个是参数是一个函数,第二个是序列(列表或元组)。其中,函数(即map的第一个参数位置的函数)可以接收一个或多个参数。
reduce()函数:
reduce() 第一个参数是函数,第二个是 序列(列表或元组)。但是,其函数必须接收两个参数。
②从对传进去的数值作用来讲:
map()是将传入的函数依次作用到序列的每个元素,每个元素都是独自被函数“作用”一次;【传入的形参都是唯一的】
reduce()是将传人的函数作用在序列的第一个元素得到结果后,把这个结果继续与下一个元素作用(累积计算),【传入的形参是累计使用】
最终结果是所有的元素相互作用的结果。
返回值两者也不同:一个是具体的数字,一个是迭代器
展示如下:
结果: