Python:用两个变量理解lambda表达式

时间:2014-05-03 23:30:24

标签: python lambda

在查找计算列表产品的简明方法时,我对此response感到有些困惑。这是相关代码:

reduce(lambda x,y:x*y,[3,4,5])

有人可以解释为什么会这样吗?我熟悉使用涉及一个变量的lambda表达式(例如,当为sorting使用自定义比较函数时),但我很困惑为什么以及如何工作。

1 个答案:

答案 0 :(得分:8)

lambda x,y: x*yanonymous function,等同于

def foo(x, y):
    return x*y

要了解其在reduce(lambda ...)中的用法,请考虑the docs中的示例:

  

reduce(lambda x,y:x + y,[1,2,3,4,5])计算   ((((1 + 2)3)4)5)。

同样,reduce(lambda x,y:x*y,[3,4,5])计算((3*4)*5)