lambda
lambda简直是one-line coding的好助手啊
它其实就是一个匿名函数,能用一行解决的事绝不用两行
比如
def linear(x)
y = 2 * x + 1
return y
result = linear(3)
print(result)
这样一个简单功能的函数,还要用这么多行来写,就很费力。如果用lambda会怎么样呢?
>>> function = lambda x: 2 * x + 1
>>> function(5)
11
也就是说,lambda后边跟着的是参数,”:”后边的是返回的内容
与filter的搭配使用
filter函数后边可以跟两个参数,分别是 函数名 和 循环变量,返回的值是所有满足函数(即,使得函数为true)的循环变量。比如我们想输出0~10的奇数,那么filter加上lambda就一行:
>>> list(filter(lambda x: x%2, list(range(0,10))))
[1, 3, 5, 7, 9]
是不是amazing!!!
与map的搭配使用
跟filter特别像,只是map是执行前面的函数之后,返回所有iterable的值
>>> list(map(lambda x: x+2, list(range(0,10))))
[2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
是不是特别简单~而且看起来狂拽酷炫吊炸天!
之后我会再继续补充的~