python入门(三)——lambda

本章介绍python的匿名函数

  • lambda
  • lambda与filter连用
  • lambda与map连用

lambda

lambda简直是one-line coding的好助手啊

它其实就是一个匿名函数,能用一行解决的事绝不用两行

比如:

1
2
3
4
5
6
def linear(x)
y = 2 * x + 1
return y

result = linear(3)
print(result)

这样一个简单功能的函数,还要用这么多行来写,就很费力。如果用lambda会怎么样呢?

1
2
3
>>> function = lambda x: 2 * x + 1
>>> function(5)
11

也就是说,lambda后边跟着的是参数,”:”后边的是返回的内容

与filter的搭配使用

filter函数后边可以跟两个参数,分别是 函数名 和 循环变量,返回的值是所有满足函数(即,使得函数为true)的循环变量。比如我们想输出0~10的奇数,那么filter加上lambda就一行:

1
2
>>> list(filter(lambda x: x%2, list(range(0,10))))
[1, 3, 5, 7, 9]

是不是amazing!!!

与map的搭配使用

跟filter特别像,只是map是执行前面的函数之后,返回所有iterable的值

1
2
>>> list(map(lambda x: x+2, list(range(0,10))))
[2, 3, 4, 5, 6, 7, 8, 9, 10, 11]

是不是特别简单~而且看起来狂拽酷炫吊炸天!