map函数和reduce函数的区别

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

打印结果:

原文地址:https://www.cnblogs.com/maaosheng/p/11618788.html

时间: 2024-11-08 22:51:17

map函数和reduce函数的区别的相关文章

Python 中的map函数,filter函数,reduce函数

自学python,很多地方都需要恶补. 三个函数比较类似,都是应用于序列的内置函数.常见的序列包括list.tuple.str. 1.map函数 map函数会根据提供的函数对指定序列做映射. map函数的定义: map(function, sequence[, sequence, ...]) -> list 通过定义可以看到,这个函数的第一个参数是一个函数,剩下的参数是一个或多个序列,返回值是一个集合. function可以理解为是一个一对一或多对一函数,map的作用是以参数序列中的每一个元素调

Python3版本中的filter函数,map函数和reduce函数

一.filter函数: filter()为已知的序列的每个元素调用给定的布尔函数,调用中,返回值为非零的元素将被添加至一个列表中 1 def f1(x): 2 if x>20: 3 return True 4 else: 5 return False 6 7 l1 = [ 1, 2, 3, 42, 67, 16 ] 8 print(filter(f1, l1)) 9 #输出如下: 10 #<filter object at 0x000000000117B898> 11 l2 = filt

Python之路Python作用域、匿名函数、函数式编程、map函数、filter函数、reduce函数

Python之路Python作用域.匿名函数.函数式编程.map函数.filter函数.reduce函数 一.作用域 return 可以返回任意值例子 def test1(): print("test1") def test(): print("test") return test1 res = test() print(res) 输出结果 test <function test1 at 0x021F5C90> 分析:这里print(res)输出的是te

python全栈开发【补充】map函数和reduce函数的区别

①从参数方面来讲:map()函数: map()包含两个参数,第一个是参数是一个函数,第二个是序列(列表或元组).其中,函数(即map的第一个参数位置的函数)可以接收一个或多个参数.reduce()函数:reduce() 第一个参数是函数,第二个是 序列(列表或元组).但是,其函数必须接收两个参数. ②从对传进去的数值作用来讲:map()是将传入的函数依次作用到序列的每个元素,每个元素都是独自被函数"作用"一次:reduce()是将传人的函数作用在序列的第一个元素得到结果后,把这个结果继

map函数或reduce函数中如何调用第三方jar包

一般我们在mapreduce程序中调用第三方jar包时会出现找不到jar包的问题,检查发现jar包就在相应路径,mapreduce任务就是找不到.仔细想想会发现,这个jar包是放在执行mapreduce主程序机器上的内存中,一般为客户端机器.而我们在map或者reduce函数中调用该jar包时是在集群的机器上的内存中调用,这样怎么可以调用.可以使用以下方法: 1 把jar包提前放在集群每天机器上. 2 和集群调用mysql驱动程序一样,先将jar包放入hdfs,然后通过mysql的distrib

十一、python沉淀之路--map函数、filter函数、reduce函数、匿名函数、内置函数

一.map函数 1.自定义函数,实现类似于map函数的功能 1 num_l = [1,3,4,5,6,9] 2 def power(n): 3 return n ** 2 4 def map_test(func,array): 5 li0 = [] 6 for i in array: 7 p = func(i) 8 li0.append(p) 9 return li0 10 11 f = map_test(power,num_l) 运用自己定义的函数来计算 12 print(f) 13 f =

16python的map函数,filter函数,reduce函数

map num_l = [1,6,8,9] def map_test(func,array): ret = [] for i in array: res = func(i) ret.append(res) return ret def jia(x): return x+1 #内置函数 print(map_test(lambda x:x+1,num_l)) print(map_test(jia,num_l)) #只能迭代一次 # res = map(lambda x:x+1,num_l) # fo

【Python学习之旅】---函数式编程(函数尾调用、map函数、filter函数、reduce函数)

执行结果: 执行结果: 执行结果: 执行结果: 原文地址:https://www.cnblogs.com/chenyuxia/p/11980040.html

python中的map、filter、reduce函数

三个函数比较类似,都是应用于序列的内置函数.常见的序列包括list.tuple.str. 1.map函数 map函数会根据提供的函数对指定序列做映射. map函数的定义: map(function, sequence[, sequence, ...]) -> list 通过定义可以看到,这个函数的第一个参数是一个函数,剩下的参数是一个或多个序列,返回值是一个集合. function可以理解为是一个一对一或多对一函数,map的作用是以参数序列中的每一个元素调用function函数,返回包含每次fu