课程
/后端开发
/Python
/python进阶
为何reduce报错?
2020-02-21
源自:python进阶 2-8
正在回答
应该是print(f()) 这句报的错吧 换成print(f)试试
谢谢您呢,结果运行出来了,感谢您的帮助!
from functools import reduce
def calc(lst):
def lazy():
def f (x,y):
return x*y
return reduce(f,lst,1)
return lazy
f = calc([1,2,3,4])
print(f())
仲夏rww 提问者
在 Python3 中,reduce() 函数已经被从全局名字空间里移除了,它现在被放置在 functools 模块里,如果想要使用它,则需要通过引入 functools 模块来调用 reduce() 函数:
举报
学习函数式、模块和面向对象编程,掌握Python高级程序设计