①从参数方面来讲:
map()函数:
map()包含两个参数,第一个是参数是一个函数,第二个是序列(列表或元组)。其中,函数(即map的第一个参数位置的函数)可以接收一个或多个参数。
reduce()函数:
reduce() 第一个参数是函数,第二个是 序列(列表或元组)。但是,其函数必须接收两个参数。
②从对传进去的数值作用来讲:
map()是将传入的函数依次作用到序列的每个元素,每个元素都是独自被函数“作用”一次;(请看下面的栗子)
reduce()是将传人的函数作用在序列的第一个元素得到结果后,把这个结果继续与下一个元素作用(累积计算),
最终结果是所有的元素相互作用的结果。
(1)map测试代码以及运行结果图
1 def hanshu(x,): 2 return x*x3 def prod(): 4 return map(hanshu,[3,5,7,9]) 5 print(list(prod())) 6 7 F:\python\python.exe F:/python/Projects/11111.py 8 [9, 25, 49, 81]
(2)reduce测试代码以及运行结果图
1 from functools import reduce 2 def hanshu(x,y): 3 return x*y 4 def prod(): 5 return reduce(hanshu,[3,5,7,9]) 6 print(prod()) 7 8 F:\python\python.exe F:/python/Projects/11111.py 9 945 10 11 Process finished with exit code 0