【发布时间】:2020-10-13 07:17:47
【问题描述】:
我只是在探索 reduce,但我并不了解它背后的整个系统。我确实知道 reduce 很可能会返回一个值,但是在这种情况下它是如何工作的呢?
answer = reduce(lambda x, y: x[0]*x[1] * ([y[0] + y[1]]), [(2,6), (1, 2), (5, 6)])
【问题讨论】:
-
它是返回单个值;该值是一个列表。
-
因为您的
lambda正在返回一个列表,而reduce的结果将是您的lambda的最后一个返回值。 (2 * 6 * ([1 + 2])导致[3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3]) -
您的 lambda 表达式从右侧的外括号创建一个列表。