Lambda表达式
Lambda表达式是Python中一类特殊的定义函数的形式,使用它可以定义一个匿名函数。与其它语言不同,Python的Lambda表达式的函数体只能有单独的一条语句,也就是返回值表达式语句。
注:lambda 并不会带来程序运行效率的提高,只会使代码更简洁。
其语法如下:
lambda 形参列表 : 函数返回值表达式语句
实例1:
#常规的写法
def add(x,y):
return x + y
print(add(3,5))
#使用Lambda表达式的写法
add = lambda x,y: x+y
print(add(3,5))
以上实例输出结果:
8
8
实例2:
#如果不用Lambda表达式,而要写成常规的函数,那么需要这么写:
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)
#下面是个Lambda表达式的例子:
li=[{"age":20,"name":"def"},{"age":25,"name":"abc"},{"age":10,"name":"ghi"}]
li=sorted(li, key=lambda x:x["age"])
print(li)
以上实例输出结果:
[{"age":10,"name":"ghi"},{"age":20,"name":"def"},{"age":25,"name":"abc"}]
[{"age":10,"name":"ghi"},{"age":20,"name":"def"},{"age":25,"name":"abc"}]