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中argparse模块用法实例详解
Jun 03 Python
Python实现基本线性数据结构
Aug 22 Python
tensorflow 1.0用CNN进行图像分类
Apr 15 Python
对python3 urllib包与http包的使用详解
May 10 Python
使用python存储网页上的图片实例
May 22 Python
python3实现名片管理系统
Nov 29 Python
实例详解python函数的对象、函数嵌套、名称空间和作用域
May 31 Python
Python有参函数使用代码实例
Jan 06 Python
关于Python字符串显示u...的解决方式
Mar 06 Python
对python中list的五种查找方法说明
Jul 13 Python
python缺失值的解决方法总结
Jun 09 Python
关于python中readlines函数的参数hint的相关知识总结
Jun 24 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
模仿OSO的论坛(二)
2006/10/09 PHP
php 显示指定路径下的图片
2009/10/29 PHP
简单的方法让你的后台登录更加安全(php中加session验证)
2012/08/22 PHP
PHP字符串word末字符实现大小写互换的方法
2014/11/10 PHP
PHP基于imagick扩展实现合成图片的两种方法【附imagick扩展下载】
2017/11/14 PHP
元素的内联事件处理函数的特殊作用域在各浏览器中存在差异
2011/01/12 Javascript
javascript实时显示当天日期的方法
2015/05/20 Javascript
jquery实现红色竖向多级向右展开的导航菜单效果
2015/08/31 Javascript
JQuery实现简单的图片滑动切换特效
2015/11/22 Javascript
浅谈js构造函数的方法与原型prototype
2016/07/04 Javascript
js判断数组key是否存在(不用循环)的简单实例
2016/08/03 Javascript
什么是Vue.js框架 为什么选择它?
2017/10/17 Javascript
微信跳一跳游戏python脚本
2020/04/01 Python
python 列表,数组和矩阵sum的用法及区别介绍
2018/06/28 Python
Python用csv写入文件_消除空余行的方法
2018/07/06 Python
Python将string转换到float的实例方法
2019/07/29 Python
Pytorch加载部分预训练模型的参数实例
2019/08/18 Python
python 实现多维数组(array)排序
2020/02/28 Python
python requests包的request()函数中的参数-params和data的区别介绍
2020/05/05 Python
Python如何合并多个字典或映射
2020/07/24 Python
Cpython解释器中的GIL全局解释器锁
2020/11/09 Python
用python制作个音乐下载器
2021/01/30 Python
CSS3条纹背景制作的实战攻略
2016/05/31 HTML / CSS
详解使用HTML5 Canvas创建动态粒子网格动画
2016/12/14 HTML / CSS
关于.NET, HTML的五个问题
2012/08/29 面试题
实习单位推荐信范文
2013/11/27 职场文书
思想政治教育专业个人求职信范文
2013/12/20 职场文书
函授自我鉴定范文
2014/02/06 职场文书
计算机售后服务承诺书
2014/05/30 职场文书
2014年行风建设工作总结
2014/12/01 职场文书
2014年教育培训工作总结
2014/12/08 职场文书
整改通知书格式
2015/04/22 职场文书
物业公司管理制度
2015/08/05 职场文书
2019数学教师下学期工作总结
2019/06/27 职场文书
MySQL的存储过程和相关函数
2022/04/26 MySQL
JS前端使用canvas实现物体的点选示例
2022/08/05 Javascript