Python lambda

其实就可以当作表达式的意思。

比如

g = lambda x:x+1
"""
x为入口参数,x+1为函数体
等价于下面这个函数的定义
def g(x):
    return x+1
"""

可以当作一个表达式为每次加1,那个分号可看作等于。

>>> g = lambda x:x+1
>>> g(2)
3
>>> g(998)
999
>>>

还有filter, map, reduce这三个内建的标准函数。

>>> foo = [2, 18, 9, 22, 17, 24, 8, 12, 27] 
>>>
>>>#符合表达式的则输出 >>> print filter(lambda x: x % 3 == 0, foo) [18, 9, 24, 12, 27] >>>#求foo乘2加10 >>>
>>> print map(lambda x: x * 2 + 10, foo) [14, 46, 28, 54, 44, 58, 26, 34, 64]
>>>
>>>#求foo的总和 >>> print reduce(lambda x, y: x + y, foo)
139
原文地址:https://www.cnblogs.com/xishaonian/p/7613378.html