lambda, map, reduce

lambda:匿名函数,冒号左边是匿名函数的参数,右边是匿名函数的返回值


g = lambda x,y:x+y
g(1,2)#不加map,lambda不接受迭代参数表

map(func,args_iterable)------第一个参数为一个函数,第二个参数为迭代器

# 迭代器里的每个元素成为函数的参数,遍历迭代器每个元素,传入函数
a = map(lambda x:x*x,[1,2,3,4,5,6])#逗号前是函数,逗号后是可迭代参数表
print(list(a))
#将map对象转换为list,并打印出结果
# map(lambda x: chr(int(x)), imgname)
#输出:
[ "0","0","2","5",".","j","p","g"],--------------map(func,args_iterables)

reduce(func,args_iterables)---函数func左边的参数 x 是积累值而右边的参数y来自 iterable 的更新值. x是被累加量,将后面的可迭代对象依次迭代出来累加到x上并返回最终的x.

reduce(lambda x, y: x + y,[ "0","0","2","5",".","j","p","g"])
#输出: 
"0025.jpg"
# 这就是reduce(lamda )函数,reduce:"归约" 
#MapReduce:做类似的事情,用来针对大规模数据的并行计算
posted @ 2020-10-30 09:55  Parallax  阅读(158)  评论(0编辑  收藏  举报