【发布时间】:2021-10-05 11:09:34
【问题描述】:
from functools import reduce
lists = [lambda x: x+5, lambda x: x+6, lambda x: x+7]
n = 5
print(list(reduce(lambda a, b: a(n) + b(n), lists)))
我不确定为什么会收到错误“TypeError: 'int' object is not callable”
【问题讨论】:
-
您期望的结果是什么?你知道
reduce实际做了什么吗?具体来说,您希望a在每个步骤中的类型/值是什么? -
我希望它使用列表[] 中的 lambda 函数。我认为最终结果应该打印 23
-
但是
a(n) + b(n)将返回一个int对象,它会作为a传递给下一次迭代...所以当您执行some_int(n) + b(n).. ..你得到错误
标签: python function functional-programming