什么是lambda()函数
当我们想要使用一个简单定义的,或者只需要调用一两次的函数时,取名就是一个比较麻烦的事
使用lambda()匿名函数可以省去这一步骤
#x是传入的参数
a = lambda x : x*10 print(a(1))#10
上述代码说明,lambda定义了一个匿名函数,将x作为传入参数,x*10作为函数体,用函数可以定义为:
def fun(x): return x*10 print(fun(1))#10
lambda()可以与filter(),map()等函数一起使用:
#将range(10)以内的偶数过滤掉 a = list(filter(lambda x : x % 2,range(10)))#奇数余2的值为1,bool值为True,filter函数返回此元素 print(a)#[1, 3, 5, 7, 9] #将range(10)以内的数*2保存到新列表 b = list(map(lambda x:x*2,range(10))) print(b)#[0, 2, 4, 6, 8, 10, 12, 14, 16, 18]
lambda()只能使代码简洁,不能提高效率
可能令维护变得困难,因此不要用lambda来定义复杂的函数。