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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值