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 11 Python
利用信号如何监控Django模型对象字段值的变化详解
Nov 27 Python
python2.7实现FTP文件下载功能
Apr 15 Python
flask入门之文件上传与邮件发送示例
Jul 18 Python
Django的用户模块与权限系统的示例代码
Jul 24 Python
Python 如何优雅的将数字转化为时间格式的方法
Sep 26 Python
Python中base64与xml取值结合问题
Dec 22 Python
Python读取二进制文件代码方法解析
Jun 22 Python
详解向scrapy中的spider传递参数的几种方法(2种)
Sep 28 Python
python 实现图片裁剪小工具
Feb 02 Python
python实现MySQL指定表增量同步数据到clickhouse的脚本
Feb 26 Python
Python机器学习之PCA降维算法详解
May 19 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/01 无线电
深入Memcache的Session数据的多服务器共享详解
2013/06/13 PHP
解析PHP中的unset究竟会不会释放内存
2013/07/18 PHP
PHP对象相关知识总结
2017/04/09 PHP
微信公众号实现会员卡领取功能
2017/06/08 PHP
js浮动图片的动态效果
2013/07/10 Javascript
js中document.write使用过程中的一点疑问解答
2014/03/20 Javascript
js与css实现弹出层覆盖整个页面的方法
2014/12/13 Javascript
Bootstrap树形控件使用方法详解
2016/01/27 Javascript
js判断出两个字符串最大子串的函数实现方法
2016/11/01 Javascript
移动端日期插件Mobiscroll.js使用详解
2016/12/19 Javascript
详解AngularJS验证、过滤器、指令
2017/01/04 Javascript
babel基本使用详解
2017/02/17 Javascript
微信小程序开发之toast等弹框提示使用教程
2017/06/08 Javascript
JavaScript数组排序reverse()和sort()方法详解
2017/12/24 Javascript
理顺8个版本vue的区别(小结)
2018/09/17 Javascript
JavaScript中this用法学习笔记
2019/03/17 Javascript
详解小程序设置缓存并且不覆盖原有数据
2019/04/15 Javascript
ant-design-vue 快速避坑指南(推荐)
2020/01/21 Javascript
JS面向对象实现飞机大战
2020/08/26 Javascript
Python利用带权重随机数解决抽奖和游戏爆装备问题
2016/06/16 Python
Python实现删除排序数组中重复项的两种方法示例
2019/01/31 Python
简单介绍django提供的加密算法
2019/12/18 Python
如何定义TensorFlow输入节点
2020/01/23 Python
白兰氏健康Mall:BRAND’S
2017/11/13 全球购物
荷兰度假屋租赁网站:Aan Zee
2020/02/28 全球购物
PHP如何自定义函数
2016/09/16 面试题
普师专业个人自荐信范文
2013/11/26 职场文书
植物生产学专业求职信
2014/08/08 职场文书
2015年党员个人工作总结
2015/05/13 职场文书
爱国主义教育基地观后感
2015/06/18 职场文书
初中政治教学工作总结
2015/08/13 职场文书
2016国庆节67周年红领巾广播稿
2015/12/18 职场文书
2016年共产党员个人承诺书
2016/03/24 职场文书
Python Socket编程详解
2021/04/25 Python
pytorch 中nn.Dropout的使用说明
2021/05/20 Python