python基础教程之lambda表达式使用方法


Posted in Python onFebruary 12, 2014

Python中,如果函数体是一个单独的return expression语句,开发者可以选择使用特殊的lambda表达式形式替换该函数:

lambda parameters: expression

lambda表达式相当于函数体为单个return语句的普通函数的匿名函数。请注意,lambda语法并没有使用return关键字。开发者可以在任何可以使用函数引用的位置使用lambda表达式。在开发者想要使用一个简单函数作为参数或者返回值时,使用lambda表达式是很方便的。下面是使用lambda表达式作为内置filter函数的一个参数的示例:

aList = [1, 2, 3, 4, 5, 6, 7, 8, 9]
low = 3
high = 7
filter(lambda x, l=low, h=high: h>x>l, aList) # returns: [4, 5, 6]

作为另外一种选择,开发者还可以使用一个可以为函数变量命名的本地def语句。然后,开发者可以使用这个名称作为参数或返回值。下面是使用本地def语句的相同filter示例:

aList = [1, 2, 3, 4, 5, 6, 7, 8, 9]
low = 3
high = 7
def within_bounds(value, l=low, h=high):
return h>value>l filter(within_bounds, aList) #
returns: [4, 5, 6]

因为lambda表达式只是偶尔有用,许多Python用户更喜欢使用def, def要更通用些,如果开发者为函数选择了一个比较合理的名称,会让代码具有更好的可读性。

Python 相关文章推荐
Python中的一些陷阱与技巧小结
Jul 10 Python
微信跳一跳python辅助脚本(总结)
Jan 11 Python
python编程嵌套函数实例代码
Feb 11 Python
详解Django中间件的5种自定义方法
Jul 26 Python
对Python通过pypyodbc访问Access数据库的方法详解
Oct 27 Python
Window环境下Scrapy开发环境搭建
Nov 18 Python
pyqt5实现俄罗斯方块游戏
Jan 11 Python
pyinstaller打包单个exe后无法执行错误的解决方法
Jun 21 Python
Python try except异常捕获机制原理解析
Apr 18 Python
Linux安装Python3如何和系统自带的Python2并存
Jul 23 Python
Python tkinter界面实现历史天气查询的示例代码
Aug 23 Python
如何通过一篇文章了解Python中的生成器
Apr 02 Python
Python的print用法示例
Feb 11 #Python
python中的yield使用方法
Feb 11 #Python
python重试装饰器示例
Feb 11 #Python
python网络爬虫采集联想词示例
Feb 11 #Python
python基础教程之实现石头剪刀布游戏示例
Feb 11 #Python
python使用递归解决全排列数字示例
Feb 11 #Python
python基础教程之popen函数操作其它程序的输入和输出示例
Feb 10 #Python
You might like
融入意大利的咖啡文化
2021/03/03 咖啡文化
PHP数据库开发知多少
2006/10/09 PHP
PHP设计模式之装饰器(装饰者)模式(Decorator)入门与应用详解
2019/12/13 PHP
innerHTML,outerHTML,innerTEXT三者之间的区别
2007/01/28 Javascript
Mootools 1.2教程 选项卡效果(Tabs)
2009/09/15 Javascript
JS面向对象编程 for Cookie
2010/09/19 Javascript
jquery动画4.升级版遮罩效果的图片走廊--带自动运行效果
2012/08/24 Javascript
在图片上显示左右箭头类似翻页的代码
2013/03/04 Javascript
JQueryEasyUI datagrid框架的进阶使用
2013/04/08 Javascript
使用js简单实现了tree树菜单
2013/11/20 Javascript
js导航栏单击事件背景变换示例代码
2014/01/13 Javascript
基于JavaScript实现高德地图和百度地图提取行政区边界经纬度坐标
2016/01/22 Javascript
微信小程序 使用canvas制作K线实例详解
2017/01/12 Javascript
js获取地址栏中传递的参数(两种方法)
2017/02/08 Javascript
vue v-model表单控件绑定详解
2017/05/17 Javascript
获取url中用&隔开的参数实例(分享)
2017/05/28 Javascript
nodejs搭建本地服务器轻松解决跨域问题
2018/03/21 NodeJs
AngularJS实现的自定义过滤器简单示例
2019/02/02 Javascript
javascript设计模式 ? 工厂模式原理与应用实例分析
2020/04/09 Javascript
TypeScript魔法堂之枚举的超实用手册
2020/10/29 Javascript
Vue实现点击当前行变色
2020/12/14 Vue.js
使用 Python 获取 Linux 系统信息的代码
2014/07/13 Python
Python设计模式之抽象工厂模式
2016/08/25 Python
Python轻量级ORM框架Peewee访问sqlite数据库的方法详解
2017/07/20 Python
利用python将图片转换成excel文档格式
2017/12/30 Python
Python常用模块os.path之文件及路径操作方法
2019/12/03 Python
python数据库编程 ODBC方式实现通讯录
2020/03/27 Python
Python MOCK SERVER moco模拟接口测试过程解析
2020/04/13 Python
使用html2canvas.js实现页面截图并显示或上传的示例代码
2018/12/18 HTML / CSS
英国休闲奢华的缩影:Crew Clothing
2019/05/05 全球购物
高中自我鉴定
2013/12/20 职场文书
超市中秋节活动方案
2014/02/12 职场文书
领导干部作风建设总结
2014/10/23 职场文书
2014年结对帮扶工作总结
2014/12/17 职场文书
个人职业生涯规划之自我评估篇
2019/09/03 职场文书
Python利用capstone实现反汇编
2022/04/06 Python