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 相关文章推荐
Python3.6 Schedule模块定时任务(实例讲解)
Nov 09 Python
python实现简单http服务器功能
Sep 17 Python
浅谈python的dataframe与series的创建方法
Nov 12 Python
python使用udp实现聊天器功能
Dec 10 Python
python3实现钉钉消息推送的方法示例
Mar 14 Python
python 魔法函数实例及解析
Sep 25 Python
python构造函数init实例方法解析
Jan 19 Python
Python3.7将普通图片(png)转换为SVG图片格式(网站logo图标)动起来
Apr 21 Python
利用python中的matplotlib打印混淆矩阵实例
Jun 16 Python
python环境搭建和pycharm的安装配置及汉化详细教程(零基础小白版)
Aug 19 Python
Python图像处理之图像拼接
Apr 28 Python
Python趣味挑战之教你用pygame画进度条
May 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实现斐波那契数列的简单写法
2014/07/19 PHP
PHP中抽象类和抽象方法概念与用法分析
2016/05/24 PHP
PHP+swoole+linux实现系统监控和性能优化操作示例
2019/04/15 PHP
Javascript模块模式分析
2008/05/16 Javascript
jQuery Dialog 弹出层对话框插件
2010/08/09 Javascript
日期处理的js库(迷你版)--自建js库总结
2011/11/21 Javascript
javascript实现图片切换的幻灯片效果源代码
2012/12/12 Javascript
JavaScript的strict模式与with关键字介绍
2014/02/08 Javascript
javascript白色简洁计算器
2015/05/04 Javascript
AngularJS基础知识笔记之表格
2015/05/10 Javascript
JS实现自动切换文字的导航效果代码
2015/08/27 Javascript
JavaScript操作class和style样式代码详解
2016/02/13 Javascript
AngularJS动态生成div的ID源码解析
2016/08/29 Javascript
js实现界面向原生界面发消息并跳转功能
2016/11/22 Javascript
Jquery中attr与prop的区别详解
2017/05/27 jQuery
Angular实现预加载延迟模块的示例
2017/10/12 Javascript
axios 封装上传文件的请求方法
2018/09/26 Javascript
JS监听事件的叠加和移除功能
2018/11/19 Javascript
微信小程序订阅消息(java后端实现)开发
2020/06/01 Javascript
[01:03:36]Ti4 循环赛第三日DK vs Titan
2014/07/12 DOTA
python基础教程之基本数据类型和变量声明介绍
2014/08/29 Python
用Python计算三角函数之acos()方法的使用
2015/05/15 Python
在python中安装basemap的教程
2018/09/20 Python
selenium+python自动化测试环境搭建步骤
2019/06/03 Python
django 简单实现登录验证给你
2019/11/06 Python
Python实现JS解密并爬取某音漫客网站
2020/10/23 Python
美国著名的品牌折扣店:Burlington
2017/06/08 全球购物
学生实习推荐信范文
2013/11/26 职场文书
致百米运动员广播稿
2014/01/29 职场文书
机关道德讲堂实施方案
2014/03/15 职场文书
安全标语大全
2014/06/10 职场文书
关键在于落实心得体会
2014/09/03 职场文书
省委召开党的群众路线教育实践活动总结大会报告
2014/10/21 职场文书
八年级上册语文教学计划
2015/01/22 职场文书
小学六年级班主任工作经验交流材料
2015/11/02 职场文书
吉利入股戴姆勒后smart“长大了”
2022/04/21 数码科技