lambda 表达式

传统的方法定义,必须写 def + 方法名

  1. def add(x, y):
  2. return x+y

而 lambda 表达式把方法名给省略了:

  1. lambda x, y: x + y

然后我们就可以把这个 lambda 赋值给一个变量,传递到其他方法参数中,下面是直接调用:

  1. f = lambda x, y: x + y
  2. print(f(2,3))

map

map 字面意思就是映射,比如把元素 A 映射为 元素 B,给定一个 x,返回 x 的平方等待,这些都是映射。

  1. list_x = [1,2,3,4,5,6,7,8]
  2. def square(x):
  3. return x * x
  4. r = map(square,list_x)

lambda表达式替换函数

  1. r2 = map(lambda x: x * x, list_x)
  2. print(list(r2))