您现在的位置是:首页 > 文章详情

python-lambda用法

日期:2018-04-17点击:331

前言:

lambda函数也叫匿名函数,即,函数没有具体的名称。


一、基础

lambda语句构建的其实是一个函数对象。匿名函数有个限制,就是只能有一个表达式,不用写return,返回值就是该表达式的结果。

lambda(a,b: a+b) #关键字lambda表示匿名函数,冒号前是参数,可以有多个,用逗号隔开,冒号右边的返回值。

lambda优点:
1、使用Python写一些执行脚本时,使用lambda可以省去定义函数的过程,让代码更加精简。
2、对于一些抽象的,不会别的地方再复用的函数,有时候给函数起个名字也是个难题,使用lambda不需要考虑命名的问题。
3、使用lambda在某些时候让代码更容易理解。

举一个简单的例子: def f(x): return x**2 print f(4) Python中使用lambda的话,写成这样 g = lambda x : x**2 print g(4)

 


二、进阶-内置函数

1、map()
遍历序列,对序列中每个元素进行操作,最终获取新的序列。

li = [11, 22, 33] sl = [1, 2, 3] new_list = map(lambda a, b: a + b, li, sl) print(list(new_list)) 结果输出为: >>>[12,24,36]

2、reduce()
对于序列内所有元素进行累计操作

from functools import reduce li = [11,22,33] result = reduce(lambda a,b:a+b,li) # reduce的第一个参数,函数必须要有两个参数 # reduce的第二个参数,要循环的序列 # reduce的第三个参数,初始值 print(result) 输出结果: >>>66

3、filter()
对于序列中的元素进行筛选,最终获取符合条件的序列

li = [11,22,33] new_list = filter(lambda a:a>22,li) print(list(new_list)) #filter第一个参数为空,将获取原来序列 输出结果: >>>[33]

 


以上~

作者:搁浅
出处: http://www.cnblogs.com/xiaoxi-3-/
如果对您有帮助,请关注我的同名简书:https://www.jianshu.com/u/da1677475c27
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

原文链接:https://yq.aliyun.com/articles/630322
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章