lambda表达式:
用法 lambda x : 2 * x + 1
其中:前面是参数,后面是返回值。
1 >>> def ds(x): 2 ... return 2 * x + 1 3 ... 4 >>> ds(5) 5 11 6 >>> lambda x : 2*x+1 7 <function <lambda> at 0x7fb02a635ea0> 8 >>> g = lambda x : 2*x+1 9 >>> g(2) 10 5 11 >>> def add(x,y): 12 ... return x + y 13 ... 14 >>> add(4,5) 15 9 16 >>> g = lambda x,y = x + y 17 File "<stdin>", line 1 18 g = lambda x,y = x + y 19 ^ 20 SyntaxError: invalid syntax 21 >>> g = lambda x,y : x+y 22 >>> g(4,5) 23 9
lambda表达式作用:
- 是代码更加简洁
- 不需要命名
- 简化代码的可读性,阅读时无需调到def定义部分。
filter()方法
filter(function or None, iterable) -->filter object
当第一个参数为None时,返回iterable中为True的对象,当第一个参数部位None时,返回使函数返回True的iterable中的对象。
1 >>> list(filter(None, [True,1,0,False])) 2 [True, 1] 3 >>> list(filter(lambda x : x % 2, range(10))) 4 [1, 3, 5, 7, 9]
map()方法
map(func, *iterables)
将后面的参数通过func进行一次迭代处理。
1 >>> list(map(lambda x:2 * x, range(10))) 2 [0, 2, 4, 6, 8, 10, 12, 14, 16, 18]