Python 中的lambda函数介绍


Posted in Python onOctober 10, 2018

Lambda函数,即Lambda 表达式(lambda expression),是一个匿名函数(不存在函数名的函数),Lambda表达式基于数学中的λ演算得名,直接对应于其中的lambda抽象(lambda abstraction)。

一、lambda函数也叫匿名函数,即,函数没有具体的名称。先来看一个最简单例子:

def f(x):
return x**2
print f(4)

Python中使用lambda的话,写成这样

g = lambda x : x**2
print g(4)

二、lambda和普通的函数相比,就是省去了函数名称而已,同时这样的匿名函数,又不能共享在别的地方调用。

其实说的没错,lambda在Python这种动态的语言中确实没有起到什么惊天动地的作用,因为有很多别的方法能够代替lambda。

1. 使用Python写一些执行脚本时,使用lambda可以省去定义函数的过程,让代码更加精简。

2. 对于一些抽象的,不会别的地方再复用的函数,有时候给函数起个名字也是个难题,使用lambda不需要考虑命名的问题。

3. 使用lambda在某些时候让代码更容易理解。

lambda基础

lambda语句中,冒号前是参数,可以有多个,用逗号隔开,冒号右边的返回值。lambda语句构建的其实是一个函数对象,见证一下:

>>> foo = [2, 18, 9, 22, 17, 24, 8, 12, 27]
>>> print filter(lambda x: x % 3 == 0, foo)
[18, 9, 24, 12, 27]
>>> print map(lambda x: x * 2 + 10, foo)
[14, 46, 28, 54, 44, 58, 26, 34, 64]
>>> print reduce(lambda x, y: x + y, foo)
139

在对象遍历处理方面,其实Python的for..in..if语法已经很强大,并且在易读上胜过了lambda。

defaultdict是字典类型,可以为defaultdict设置默认值,可以通过lambda设置默认值。

下面举几个例子:

from collections import *             
x = defaultdict(lambda:0) //默认值是0
print x[0]
y =defaultdict(lambda:defaultdict(lambda:0))//默认值是一个字典,字典的默认值是0
print y[0]
z = defaultdict(lambda:[0,0,0])//默认值是一个列表,[0,0,0].
print z[0]

输出结果:

0
defaultdict(<function <lambda> at0x7f097797af50>, {})
[0, 0, 0]

总结

以上所述是小编给大家介绍的Python lambda函数,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Python 相关文章推荐
详解Python发送邮件实例
Jan 10 Python
Python用Bottle轻量级框架进行Web开发
Jun 08 Python
python使用fork实现守护进程的方法
Nov 16 Python
python将文本分每两行一组并保存到文件
Mar 19 Python
Django框架实现逆向解析url的方法
Jul 04 Python
pygame游戏之旅 计算游戏中躲过的障碍数量
Nov 20 Python
Django model 中设置联合约束和联合索引的方法
Aug 06 Python
用python生成与调用cntk模型代码演示方法
Aug 26 Python
PyQt5实现仿QQ贴边隐藏功能的实例代码
May 24 Python
零基础学Python之前需要学c语言吗
Jul 21 Python
python如何利用Mitmproxy抓包
Oct 10 Python
详细介绍python操作RabbitMq
Apr 12 Python
django项目搭建与Session使用详解
Oct 10 #Python
Python 变量类型详解
Oct 10 #Python
Python中几种属性访问的区别与用法详解
Oct 10 #Python
Python的argparse库使用详解
Oct 09 #Python
详解Python3中的迭代器和生成器及其区别
Oct 09 #Python
不知道这5种下划线的含义,你就不算真的会Python!
Oct 09 #Python
详解利用django中间件django.middleware.csrf.CsrfViewMiddleware防止csrf攻击
Oct 09 #Python
You might like
单位速度在实战中的运用
2020/03/04 星际争霸
php生成随机密码的几种方法
2011/01/17 PHP
php常用字符串处理函数实例分析
2014/11/22 PHP
微信企业转账之入口类分装php代码
2018/10/01 PHP
DOM 基本方法
2009/07/18 Javascript
JQuery上传插件Uploadify使用详解及错误处理
2010/04/27 Javascript
js 判断checkbox是否选中的操作方法
2012/11/09 Javascript
javascript游戏开发之《三国志曹操传》零部件开发(四)用地图块拼成大地图
2013/01/23 Javascript
js(jQuery)获取时间的方法及常用时间类搜集
2013/10/23 Javascript
js(JavaScript)实现TAB标签切换效果的简单实例
2014/02/26 Javascript
jQuery如何取id有.的值一般的方法是取不到的
2014/04/18 Javascript
AngularJS入门教程之静态模板详解
2016/08/18 Javascript
js实现各浏览器全屏代码实例
2018/07/03 Javascript
js构造函数constructor和原型prototype原理与用法实例分析
2020/03/02 Javascript
Javascript中的奇葩知识,你知道吗?
2021/01/25 Javascript
Python lambda和Python def区别分析
2014/11/30 Python
按日期打印Python的Tornado框架中的日志的方法
2015/05/02 Python
python判断一个集合是否包含了另外一个集合中所有项的方法
2015/06/30 Python
python DataFrame 修改列的顺序实例
2018/04/10 Python
朴素贝叶斯分类算法原理与Python实现与使用方法案例
2018/06/26 Python
twilio python自动拨打电话,播放自定义mp3音频的方法
2019/08/08 Python
使用python实现画AR模型时序图
2019/11/20 Python
Python爬虫程序架构和运行流程原理解析
2020/03/09 Python
Python 读取xml数据,cv2裁剪图片实例
2020/03/10 Python
Django多数据库配置及逆向生成model教程
2020/03/28 Python
环境工程大学生自荐信
2013/10/21 职场文书
如何客观的进行自我评价
2013/12/17 职场文书
餐厅执行经理岗位职责范本
2014/02/26 职场文书
家长会主持词
2014/03/26 职场文书
副董事长岗位职责
2014/04/02 职场文书
公务员上班玩游戏检讨书
2014/09/17 职场文书
地道战观后感300字
2015/06/04 职场文书
女性健康讲座主持词
2015/07/04 职场文书
给校长的建议书作文500字
2015/09/14 职场文书
2016教师校本研修心得体会
2016/01/08 职场文书
Python基本知识点总结
2022/04/07 Python