一句话说清楚,lambda 是Python定义匿名函数的语法。
lambad 表达式就是一个函数,可以赋值给一个变量,既然是表达式,可以参与运算。
lambda x: x ** 2 这个匿名函数的形参是x,表达式x ** 2的值就是这个函数的返回值。
>>> lambda x: x ** 2
<function <lambda> at 0x1007f7668>
>>> (lambda x: x ** 2)(2)
4
>>> f = lambda x: x ** 2
>>> f(2)
4
>>>
map(lambda x: x ** 2, range(1, 11))
结果是。
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]。
也可以这样 f = lambda x: x ** 2
map(f, range(1, 11))
Python3 map 需要修改为
list( map(lambda x: x ** 2, range(1, 11)))
黄哥:黄哥Python:提醒要转行当程序员的朋友,学习要分先后主次zhuanlan.zhihu.com