我是 Python 新手。你能告诉我下面的代码有什么问题吗?当我运行它时,我收到一条错误消息“NameError:未定义全局名称'reduce'”。我问过古尔格,但没用。:(
def main():
def add(x,y): return x+y
reduce(add, range(1, 11))
if __name__=='__main__':
main()
我会猜测:
该reduce
函数由于不常用,已从 Python 3 的内置函数中删除。它仍然在functools
模块中可用,因此您可以执行以下操作:
import functools
def main():
def add(x,y): return x+y
functools.reduce(add, range(1, 11))
还
# Import reduce from functools
from functools import reduce
允许您像使用reduce
内置函数一样使用它。
def main():
def add(x,y): return x+y
reduce(add, range(1, 11))