Python基础15
2020-10-26 本文已影响0人
粽子和小恺
8.4 lambda表达式
Lambda表达式是Python中一类特殊的定义函数的形式,使用它可以定义一个匿名函数。与其它语言不同,Python的Lambda表达式的函数体只能有单独的一条语句,也就是返回值表达式语句。其语法如下:
lambda 原函数的参数 : 函数返回值表达式语句
例42:
#定义一种变换,使传进去的参数+8,然后输出。
#def形式
def b(x):
x = x + 1
print(x)
#lambda表达式
b = lambda x:x + 8
其中,= 代表将lambda表达式的内容赋值给b,x代表调用时需要传入一个x参数,:后面的语句代表要对x执行的内容。
程序执行如下(lambda表达式版):
怎么?觉得不够方便,还是觉得太简单了呢?
课后作业(升级挑战):
li=[{"age":20,"name":"def"},{"age":25,"name":"abc"},{"age":10,"name":"ghi"}]
li=sorted(li, key=lambda x:x["age"])
print(li)
把它写成def的形式。
答案在我的公众号里(科技与文学)。
啊不,开玩笑的,答案如下:
def comp(x):
return x["age"]
li=[{"age":20,"name":"def"},{"age":25,"name":"abc"},{"age":10,"name":"ghi"}]
li=sorted(li, key=comp)
print(li)