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 生成不重复的随机数的代码
May 15 Python
python在windows命令行下输出彩色文字的方法
Mar 19 Python
python3设计模式之简单工厂模式
Oct 17 Python
使用Python爬了4400条淘宝商品数据,竟发现了这些“潜规则”
Mar 23 Python
python opencv设置摄像头分辨率以及各个参数的方法
Apr 02 Python
Django如何实现网站注册用户邮箱验证功能
Aug 14 Python
浅谈Python type的使用
Nov 19 Python
Python模块_PyLibTiff读取tif文件的实例
Jan 13 Python
python实现在一个画布上画多个子图
Jan 19 Python
Python 面向对象之类class和对象基本用法示例
Feb 02 Python
python实现在线翻译
Jun 18 Python
使用SimpleITK读取和保存NIfTI/DICOM文件实例
Jul 01 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
c#中的实现php中的preg_replace
2009/12/21 PHP
php htmlspecialchars()与shtmlspecialchars()函数的深入分析
2013/06/05 PHP
浅析Yii中使用RBAC的完全指南(用户角色权限控制)
2013/06/20 PHP
PHP保留两位小数并且四舍五入及不四舍五入的方法
2013/09/22 PHP
PHP5.3以上版本安装ZendOptimizer扩展
2015/03/27 PHP
php中删除、清空session的方式总结
2015/10/09 PHP
基于PHP+mysql实现新闻发布系统的开发
2020/08/06 PHP
JavaScript中诡异的delete操作符
2015/03/12 Javascript
JavaScript内存管理介绍
2015/03/13 Javascript
浏览器兼容性问题大汇总
2015/12/17 Javascript
AngularJs 弹出模态框(model)
2016/04/07 Javascript
js以分隔符分隔数组中的元素并转换为字符串的方法
2016/11/16 Javascript
JavaScript 监控微信浏览器且自带返回按钮时间
2016/11/27 Javascript
AngularJS常见过滤器用法实例总结
2017/07/06 Javascript
详解vue项目首页加载速度优化
2017/10/18 Javascript
vue填坑之webpack run build 静态资源找不到的解决方法
2018/09/03 Javascript
vue 动态组件用法示例小结
2020/03/06 Javascript
js实现手表表盘时钟与圆周运动
2020/09/18 Javascript
[00:33]DOTA2上海特级锦标赛 CDEC战队宣传片
2016/03/04 DOTA
[01:03:37]Secret vs VGJ.S Supermajor小组赛C组 BO3 第二场 6.3
2018/06/04 DOTA
[52:36]VGJ.S vs Serenity 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
python获取指定目录下所有文件名列表的方法
2015/05/20 Python
实例讲解Python3中abs()函数
2019/02/19 Python
Spring实战之使用util:命名空间简化配置操作示例
2019/12/09 Python
Django更新models数据库结构步骤
2020/04/01 Python
解决TensorFlow训练模型及保存数量限制的问题
2021/03/03 Python
CSS3教程:新增加的结构伪类
2009/04/02 HTML / CSS
加拿大女装网上购物:Reitmans
2016/10/20 全球购物
Casadei卡萨蒂官网:意大利奢侈鞋履品牌
2017/10/28 全球购物
美国在线购买和出售礼品卡网站:EJ Gift Cards
2019/06/09 全球购物
应届生船舶驾驶求职信
2013/10/19 职场文书
法制宣传日活动总结
2014/04/29 职场文书
领导干部学习“三严三实”思想汇报
2014/09/15 职场文书
运动会100米加油稿
2015/07/21 职场文书
企业安全生产规章制度
2015/08/06 职场文书
Python自动化之批量处理工作簿和工作表
2021/06/03 Python