python中的lambda函数
2023-03-20 15:01:37 时间
最近碰见太多次lambda函数了,那就来详细解释一下该函数。
lambda函数
我们先对lambda函数进行一个简单的介绍
- lambda函数是一种匿名函数,即没有名字的函数
- 使用lambda保留字定义,函数名是返回结果
- lambda函数的函数体只是一个表达式
- lambda函数用于定义简单的、能够在一行内表示的函数
- lambda表达式” : “后面,只能有一个表达式,def则可以有多个。
- lambda一般用来定义简单的函数,而def可以定义复杂的函数
先来看一个例子:
g=lambda x:x+1
print(g(1))
#结果为2
可以这样认为,lambda作为一个表达式,定义了一个匿名函数。等价于:
def g(x):
return x+1
非常容易理解,在这里lambda简化了函数定义的书写形式。是代码更为简洁,但是使用函数的定义方式更为直观,易理解。
可传入多个参数
g=lambda x,y,z:x+y+z*2
print(g(1,2,3))
#结果为9
#也可直接传递参数
(lambda x:x**2)(3)
#结果为9
lambda表达式会返回一个函数对象,如果没有变量接受这个返回值的话,它很快就会被丢弃。也正是由于lambda只是一个表达式,所以它可以直接作为list和dict的成员
list_a = [lambda a: a**3, lambda b: b**3]
print(type(list_a[0]))
结果为:
与map函数进行使用
a = map(lambda x:x**2,range(5))
print(list(a))
结果为:
总结
lambda函数使代码结构更加紧凑,但却使代码看起来不是那么清晰。
参考资料
https://zhuanlan.zhihu.com/p/80960485
相关文章
- 屏幕刷新机制 Choreographer 原理分析
- 补间动画源码中分析机制原理
- MySQLump 参数--Lock-Tables浅析
- 谷歌将为 Android 12 推出全新游戏模式 API,有望支持三档性能调节
- 如何在Python中操作数据库
- Python操作Redis大全
- delete、truncate、drop的区别有哪些,该如何选择
- 聊聊 Python 数据处理全家桶(MongoDB 篇)
- 聊聊 Python 数据处理全家桶(Redis篇)
- MySQL limit导致的执行计划差异
- mysqldump一致性热备原理剖析
- 利用SQL和Python分别实现人流量查询,考验逻辑思维的时候到了
- 使用 Python 配合 Redis 超越缓存
- 面试官:你来讲讲一条查询语句的具体执行过程
- 我用Python处理3万多条数据,只要几秒钟……
- 代码详解:使用Python从不同表格中提取数据
- 自定义构建交互式SSH应用程序,以Python为例
- 深入理解select count(*)底层究竟做了什么
- 使用Redis和Python构建一个共享单车的应用程序
- Python实现数据可视化,看如何监控你的爬虫?