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中for循环的使用
Apr 14 Python
简介Django中内置的一些中间件
Jul 24 Python
基于Python_脚本CGI、特点、应用、开发环境(详解)
May 23 Python
python多线程socket编程之多客户端接入
Sep 12 Python
python获取代理IP的实例分享
May 07 Python
Django中的ajax请求
Oct 19 Python
Python多进程方式抓取基金网站内容的方法分析
Jun 03 Python
pytorch载入预训练模型后,实现训练指定层
Jan 06 Python
tensorflow之变量初始化(tf.Variable)使用详解
Feb 06 Python
基于Pytorch SSD模型分析
Feb 18 Python
Python无损压缩图片的示例代码
Aug 06 Python
Python实现灰色关联分析与结果可视化的详细代码
Mar 25 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
深入phpMyAdmin的安装与配置的详细步骤
2013/05/07 PHP
PHP的Socket通信之UDP通信实例
2015/07/02 PHP
你不知道的文件上传漏洞php代码分析
2016/09/29 PHP
jQuery中读取json文件示例代码
2013/05/10 Javascript
JS兼容浏览器的导出Excel(CSV)文件的方法
2014/05/03 Javascript
jquery手风琴特效插件
2015/02/04 Javascript
JavaScript 事件入门知识
2015/04/13 Javascript
动态加载jQuery的两种方法实例分析
2015/07/17 Javascript
jQuery grep()方法详解及实例代码
2016/10/30 Javascript
如何用JS/HTML将时间戳转换为“xx天前”的形式
2017/02/06 Javascript
JS验证字符串功能
2017/02/22 Javascript
JS实现的计数排序与基数排序算法示例
2017/12/04 Javascript
vue写一个组件
2018/04/09 Javascript
vue升级之路之vue-router的使用教程
2018/08/14 Javascript
微信小程序人脸识别功能代码实例
2019/05/07 Javascript
详解ES6 export default 和 import语句中的解构赋值
2019/05/28 Javascript
五分钟搞懂Vuex实用知识(小结)
2019/08/12 Javascript
js prototype和__proto__的关系是什么
2019/08/23 Javascript
[02:06]2018完美世界全国高校联赛秋季赛开始报名(附彩蛋)
2018/09/03 DOTA
python使用pyhook监控键盘并实现切换歌曲的功能
2014/07/18 Python
python求众数问题实例
2014/09/26 Python
python微信公众号之关键词自动回复
2018/06/15 Python
python实现一组典型数据格式转换
2018/12/15 Python
如何在Cloud Studio上执行Python代码?
2019/08/09 Python
tf.concat中axis的含义与使用详解
2020/02/07 Python
浅谈Pytorch中的自动求导函数backward()所需参数的含义
2020/02/29 Python
Python实现从N个数中找到最大的K个数
2020/04/02 Python
Python Selenium XPath根据文本内容查找元素的方法
2020/12/07 Python
Jupyter Notebook 远程访问配置详解
2021/01/11 Python
文明演讲稿范文
2014/05/12 职场文书
企业职业病防治方案
2014/05/29 职场文书
理发店策划方案
2014/06/05 职场文书
医院合作协议书
2014/08/19 职场文书
家属慰问信
2015/02/14 职场文书
2015年教师节贺卡寄语
2015/03/24 职场文书
安全教育培训心得体会
2016/01/15 职场文书