Python Lambda 表达式
通常,当你不想费神去构建一个函数的场合下,可以使用lambda表示,达到简化代码的作用。
所以一般来说,lambda表达式的内容是比较简单的。
应用在函数式编程
python提供了很多函数式编程的特性,如map,reduce,filter,sorted等这些函数都支持函数作为参数
例如排序时重载:
list1 = [3 , 5 , -1, 0 , -2, -6]
list1 = sorted(list1, key = lambda x: abs(x))
print(list1)
应用在闭包中
def get_y(a,b):
return lambda x: a*x+b
y1 =get_y(100,1)
print(y1(1))
使用普通函数方法实现如下:
def get_y(a,b):
def func(x):
return a*x+b
return func
y1 =get_y(100,1)
print(y1(1))
显然,没有使用lambda来得简单