为了账号安全,请及时绑定邮箱和手机立即绑定

请问同学们Python3环境,为何reduce提示报错?

http://img1.sycdn.imooc.com//5e4f87c9000190a011320650.jpg

为何reduce报错?

正在回答

4 回答

应该是print(f()) 这句报的错吧 换成print(f)试试

1 回复 有任何疑惑可以回复我~

http://img1.sycdn.imooc.com//5e66ed97000129cb11980972.jpg

谢谢您呢,结果运行出来了,感谢您的帮助!

0 回复 有任何疑惑可以回复我~

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())


2 回复 有任何疑惑可以回复我~
#1

仲夏rww 提问者

谢谢您的帮助,结果正确了。
2020-03-10 回复 有任何疑惑可以回复我~

在 Python3 中,reduce() 函数已经被从全局名字空间里移除了,它现在被放置在 functools 模块里,如果想要使用它,则需要通过引入 functools 模块来调用 reduce() 函数:

from functools import reduce


3 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
python进阶
  • 参与学习       255665    人
  • 解答问题       2949    个

学习函数式、模块和面向对象编程,掌握Python高级程序设计

进入课程

请问同学们Python3环境,为何reduce提示报错?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信