Python中的Lambda表达式

@spiritree  September 19, 2016

在编程中提到的lambda的表达式,是在需要一个函数而又不想费时创造函数的一个匿名函数。

以下举例:

def f(x):
    return x * x
r = (map(f, [1, 2, 3]))
print(list(r))

等效于

r = (map(lambda x: x * x , [1, 2, 3]))
print(list(r))

和其他很多语言相比,Python 的 lambda 限制多多,最严重的当属它只能由一条表达式组成。这个限制主要是为了防止滥用,因为当人们发觉 lambda 很方便,就比较容易滥用,可是用多了会让程序看起来不那么清晰,毕竟每个人对于抽象层级的忍耐 / 理解程度都有所不同。


添加新评论