lambda表达式的由来
在Python中定义函数用关键字def func():来定义函数,如果要定义一个匿名函数,直接用def :是会报错的。lambda表达式就是Python用来定义匿名函数的
lambda 来创建匿名函数规则
- lambda只是一个表达式,函数体比def简单很多。
- lambda与Javascript不同的是,python中匿名函数与非匿名函数需要使用不同的语法。
- lambda的主体是一个表达式,而不是一个代码块,所以不能写太多的逻辑进去。
- lambda函数拥有自己的命名空间,且不能访问自有参数列表之外或全局命名空间里的参数。
- lambda定义的函数的返回值就是表达式的返回值,不需要return语句块。
- lambda表达式的主要应用场景就是赋值给变量、作为参数传入其它函数。
lambda匿名函数的表达式规则是:lambda 参数列表: 表达式
练习题
通过lambda创建规则,将某一列表元素,如[1,2,3,4,5,6,7],筛选偶数值并得到一个新列表。
a = [1,2,3,4,5,6,7]
b = lambda x:[x for x in a if x%2==0]
print(b(a))
输出结果:
[2, 4, 6]