python之lambda-filter-map-reduce作用

python之lambda-filter-map-reduce作用,第1张

python之lambda-filter-map-reduce作用

lambda:匿名函数,让函数更简洁,有时候妙用无穷;

使用方法:lambda 后面直接跟变量,变脸后面是冒号,冒号后面是表达式,表达式的计算结果就是本函数的返回值

注意:虽然 lambda 函数可以接收任意多的参数并且返回单个表达式的值,但是 lambda 函数不能包含命令且包含的表达式不能超过一个。如果你需要更多复杂的东西,你应该去定义一个函数。

eg:

 filter:过滤器

eg:

numbers =range(-5,5)
print(list(filter(lambda x:x>0,numbers)))

输出结果:【1,2,3,4】

和以下代码等价                        

[x for x in numbers if x > 0]

 map:映射,map 是 Python 的一个内置函数,它的基本格式是:map(func, seq)

对于 map 要主要理解以下几个点就好了:

1.对可迭代的对象中的每一个元素,依次使用 fun 的方法(其实本质上就是一个 for 循环)。

2.将所有的结果返回一个 map 对象,这个对象是个迭代器。

eg:

list1 = [1,2,3,4]
list2 = [5,6,7,8]
list3=list(map(lambda x,y: x + y,list1,list2))
print(list3)

输出结果:[6, 8, 10, 12]

reduce:函数作用于序列,reduce 函数的第一个参数是一个函数,第二个参数是序列类型的对象,将函数按照从左到右的顺序作用在序列上。

eg:

from functools import reduce
a=reduce(lambda x,y:x+y,[1,2,3,4,5])
print(a)

输出结果:15

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5650979.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存