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