Python 中的lambda函数介绍


Posted in Python onOctober 10, 2018

Lambda函数,即Lambda 表达式(lambda expression),是一个匿名函数(不存在函数名的函数),Lambda表达式基于数学中的λ演算得名,直接对应于其中的lambda抽象(lambda abstraction)。

一、lambda函数也叫匿名函数,即,函数没有具体的名称。先来看一个最简单例子:

def f(x):
return x**2
print f(4)

Python中使用lambda的话,写成这样

g = lambda x : x**2
print g(4)

二、lambda和普通的函数相比,就是省去了函数名称而已,同时这样的匿名函数,又不能共享在别的地方调用。

其实说的没错,lambda在Python这种动态的语言中确实没有起到什么惊天动地的作用,因为有很多别的方法能够代替lambda。

1. 使用Python写一些执行脚本时,使用lambda可以省去定义函数的过程,让代码更加精简。

2. 对于一些抽象的,不会别的地方再复用的函数,有时候给函数起个名字也是个难题,使用lambda不需要考虑命名的问题。

3. 使用lambda在某些时候让代码更容易理解。

lambda基础

lambda语句中,冒号前是参数,可以有多个,用逗号隔开,冒号右边的返回值。lambda语句构建的其实是一个函数对象,见证一下:

>>> foo = [2, 18, 9, 22, 17, 24, 8, 12, 27]
>>> print filter(lambda x: x % 3 == 0, foo)
[18, 9, 24, 12, 27]
>>> print map(lambda x: x * 2 + 10, foo)
[14, 46, 28, 54, 44, 58, 26, 34, 64]
>>> print reduce(lambda x, y: x + y, foo)
139

在对象遍历处理方面,其实Python的for..in..if语法已经很强大,并且在易读上胜过了lambda。

defaultdict是字典类型,可以为defaultdict设置默认值,可以通过lambda设置默认值。

下面举几个例子:

from collections import *             
x = defaultdict(lambda:0) //默认值是0
print x[0]
y =defaultdict(lambda:defaultdict(lambda:0))//默认值是一个字典,字典的默认值是0
print y[0]
z = defaultdict(lambda:[0,0,0])//默认值是一个列表,[0,0,0].
print z[0]

输出结果:

0
defaultdict(<function <lambda> at0x7f097797af50>, {})
[0, 0, 0]

总结

以上所述是小编给大家介绍的Python lambda函数,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Python 相关文章推荐
Python学习笔记之解析json的方法分析
Apr 21 Python
Python绘制七段数码管实例代码
Dec 20 Python
python调用tcpdump抓包过滤的方法
Jul 18 Python
python操作日志的封装方法(两种方法)
May 23 Python
python实现连连看辅助(图像识别)
Mar 25 Python
使用python和pygame制作挡板弹球游戏
Dec 03 Python
简单了解为什么python函数后有多个括号
Dec 19 Python
TensorFlow tf.nn.conv2d实现卷积的方式
Jan 03 Python
Windows下pycharm安装第三方库失败(通用解决方案)
Sep 17 Python
Python Charles抓包配置实现流程图解
Sep 29 Python
Scrapy-Redis之RedisSpider与RedisCrawlSpider详解
Nov 18 Python
用ldap作为django后端用户登录验证的实现
Dec 07 Python
django项目搭建与Session使用详解
Oct 10 #Python
Python 变量类型详解
Oct 10 #Python
Python中几种属性访问的区别与用法详解
Oct 10 #Python
Python的argparse库使用详解
Oct 09 #Python
详解Python3中的迭代器和生成器及其区别
Oct 09 #Python
不知道这5种下划线的含义,你就不算真的会Python!
Oct 09 #Python
详解利用django中间件django.middleware.csrf.CsrfViewMiddleware防止csrf攻击
Oct 09 #Python
You might like
PHP 将图片按创建时间进行分类存储的实现代码
2010/01/05 PHP
解析crontab php自动运行的方法
2013/06/24 PHP
PHP文件读取功能的应用实例
2015/05/08 PHP
php将print_r处理后的数据还原为原始数组的解决方法
2016/11/02 PHP
PHP HTTP 认证实例详解
2016/11/03 PHP
js replace正则表达式应用案例讲解
2013/01/17 Javascript
jquery实现表格奇数偶数行不同样式(有图为证及实现代码)
2013/01/23 Javascript
Jquery中children与find之间的区别详细解析
2013/11/29 Javascript
编写简单的jQuery提示插件
2014/12/21 Javascript
JS实现点击按钮后框架内载入不同网页的方法
2015/05/05 Javascript
jQuery中hover与mouseover和mouseout的区别分析
2015/12/24 Javascript
jQuery实现获取元素索引值index的方法
2016/09/18 Javascript
[原创]JavaScript语法高亮插件highlight.js用法详解【附highlight.js本站下载】
2016/11/01 Javascript
第一次接触神奇的前端框架vue.js
2016/12/01 Javascript
浅谈jQuery的bind和unbind事件(绑定和解绑事件)
2017/03/02 Javascript
单行 JS 实现移动端金钱格式的输入规则
2017/05/22 Javascript
详解微信小程序审核不通过的解决方法
2018/01/17 Javascript
vue 解决IOS10低版本白屏的问题
2020/11/17 Javascript
教你如何在Django 1.6中正确使用 Signal
2014/06/22 Python
python将ip地址转换成整数的方法
2015/03/17 Python
Python3中的最大整数和最大浮点数实例
2019/07/09 Python
Python操作Sonqube API获取检测结果并打印过程解析
2019/11/27 Python
Tensorflow全局设置可见GPU编号操作
2020/06/30 Python
使用CSS3制作响应式导航菜单的方法
2015/07/12 HTML / CSS
html5实现多文件的上传示例代码
2014/02/13 HTML / CSS
加拿大票务网站:Ticketmaster加拿大
2017/07/17 全球购物
Lungolivigno Fashion官网:高级时装在线购物
2020/10/17 全球购物
个人贷款承诺书
2014/03/28 职场文书
中文专业自荐书
2014/06/29 职场文书
师德师风自查总结
2014/10/14 职场文书
资料员岗位职责范本
2015/04/13 职场文书
团日活动总结格式
2015/05/11 职场文书
正规借条模板
2015/05/26 职场文书
Python数据类型最全知识总结
2021/05/31 Python
用JS实现飞机大战小游戏
2021/06/09 Javascript
Java 常见的限流算法详细分析并实现
2022/04/07 Java/Android