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之做一个小游戏
Sep 28 Python
python中__call__内置函数用法实例
Jun 04 Python
在Django的通用视图中处理Context的方法
Jul 21 Python
python list排序的两种方法及实例讲解
Mar 20 Python
深入分析python中整型不会溢出问题
Jun 18 Python
详解Python locals()的陷阱
Mar 26 Python
提升Python程序性能的7个习惯
Apr 14 Python
如何通过Django使用本地css/js文件
Jan 20 Python
利用 PyCharm 实现本地代码和远端的实时同步功能
Mar 23 Python
Django media static外部访问Django中的图片设置教程
Apr 07 Python
Selenium基于PIL实现拼接滚动截图
Apr 10 Python
如何基于python把文字图片写入word文档
Jul 31 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
php数组函数序列之prev() - 移动数组内部指针到上一个元素的位置,并返回该元素值
2011/10/31 PHP
php修改上传图片尺寸的方法
2015/04/14 PHP
浅析ThinkPHP缓存之快速缓存(F方法)和动态缓存(S方法)(日常整理)
2015/10/26 PHP
js图片自动切换效果处理代码
2013/05/07 Javascript
基于jquery实现图片放大功能
2016/05/07 Javascript
AngularJs表单验证实例详解
2016/05/30 Javascript
jQuery插件EasyUI实现Layout框架页面中弹出窗体到最顶层效果(穿越iframe)
2016/08/05 Javascript
微信小程序 下拉菜单的实现
2017/04/06 Javascript
JavaScript简单拖拽效果(1)
2017/05/17 Javascript
使用JavaScript进行表单校验功能
2017/08/01 Javascript
jQuery实现浏览器之间跳转并传递参数功能【支持中文字符】
2018/03/28 jQuery
QQ跳转支付宝并自动领红包脚本(最新)
2018/06/22 Javascript
原生JS封装_new函数实现new关键字的功能
2018/08/12 Javascript
JavaScript实现随机点名器实例详解
2019/05/07 Javascript
基于vue实现一个禅道主页拖拽效果
2019/05/27 Javascript
vue + typescript + video.js实现 流媒体播放 视频监控功能
2019/07/07 Javascript
Vue函数式组件的应用实例详解
2019/08/30 Javascript
[55:18]Liquid vs Chaos 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/16 DOTA
Python写的Socks5协议代理服务器
2014/08/06 Python
详解Python多线程
2016/11/14 Python
使用Python实现将list中的每一项的首字母大写
2019/06/11 Python
django之从html页面表单获取输入的数据实例
2020/03/16 Python
提高python代码运行效率的一些建议
2020/09/29 Python
HTML5教程之html 5 本地数据库(Web Sql Database)
2014/04/03 HTML / CSS
使用css如何制作时间ICON方法实践
2012/11/12 HTML / CSS
检测浏览器是否支持html5视频的代码
2013/03/28 HTML / CSS
加拿大知名的国际儿童品牌:Hatley
2016/11/09 全球购物
自动化专业毕业生自荐信
2013/11/01 职场文书
轻金属冶金专业毕业生自荐信
2013/11/02 职场文书
2014流动人口计划生育工作总结
2014/12/20 职场文书
毕业设计指导教师评语
2014/12/30 职场文书
放牛班的春天观后感
2015/06/01 职场文书
收入证明范本
2015/06/12 职场文书
golang 实现Location跳转方式
2021/05/02 Golang
Mysql忘记密码解决方法
2022/02/12 MySQL
python多次执行绘制条形图
2022/04/20 Python