python学习笔记(十三)之lambda表达式

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
View Code

lambda表达式作用:

  1. 是代码更加简洁
  2. 不需要命名
  3. 简化代码的可读性,阅读时无需调到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]
View Code

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]
View Code
原文地址:https://www.cnblogs.com/ZGreMount/p/7763699.html