python中的lambda函数

2年前未命名193
python中的lambda函数 柳小葱 于2021-04-04 20:12:38发布 33142 收藏 152 文章标签: python

最近碰见太多次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

标签: [db:标签TAG]

相关文章

年前花2个月面过阿里测开岗,拿个27K也不过分吧?

年前花2个月面过阿里测开岗,拿个27K也不过分吧?...

刚来的00后太卷了,上班还没2年,跳到我们公司起薪25k....

刚来的00后太卷了,上班还没2年,跳到我们公司起薪25k.......

pandas 实战:分析三国志人物

pandas 实战:分析三国志人物...

一文详解Yolov5——基于Yolov5的火灾检测系统

一文详解Yolov5——基于Yolov5的火灾检测系统...

走进chatGPT新一代机器人

走进chatGPT新一代机器人...

从事架构师岗位快2年了,聊一聊我对架构的一些感受和看法

从事架构师岗位快2年了,聊一聊我对架构的一些感受和看法...