解决 Python中的 Reduce Is Not Defined 问题
有时,我们经常会遇到 Not Defined 错误消息,更广泛地说,是 NameError。 这些错误消息是典型的,如果您对 Python 代码中的命名内容有简单的了解,那么这些错误消息很容易解决。
NameError 和 Not Defined 错误源于不存在的变量、绑定、函数或库。 对于这种情况,您的代码中不存在reduce 函数。
本文将讨论如何解决 Python 代码中的“reduce 未定义”错误。
python 中使用functools解决NameError: name 'reduce' is not Defined
reduce()
函数有助于对列表中的每个元素使用 lambda 函数来计算列表中的单个值。 reduce() 函数通过从数组中获取当前元素并将其与当前值组合或比较来构建一个值,直到它遍历列表中的所有元素。
在 Python 3 之前,reduce()
函数作为内置函数运行; 因此,下面的代码片段可以用来总结列表中的所有元素。
anon = lambda x,y: x+y
sum = reduce(anon, [1,2,3,4])
print(sum)
但是,如果运行上面的代码,会出现以下错误:
Traceback (most recent call last):
File "c:\Users\akinl\Documents\HTML\python\txt.py", line 2, in <module>
l = reduce(anon, [1,2,3,4])
NameError: name 'reduce' is not defined
这是因为,reduce()
不再是内置函数,而是名为 functools 的内置库中的函数,该库包含高阶函数和对可调用对象的操作。 由于reduce() 是一个高阶函数,因此存在是有意义的。
reduce()
是一个高阶函数,因为它以另一个函数作为参数。 现在要使用 reduce()
,我们需要导入functools:
import functools
anon = lambda x,y: x+y
sum = functools.reduce(anon, [1,2,3,4])
print(sum)
代码的输出:
10
我们可以在代码中更轻松地使用 from 关键字来导入reduce:
from functools import reduce
anon = lambda x,y: x+y
sum = reduce(anon, [1,2,3,4])
print(sum)
代码的输出:
10
我们的代码中不再有“reduce is not Defined”错误,并且现在可以了解当我们看到此类错误时要查找的内容。
相关文章
python 中解决 Raise JSONDecodeError(Expecting Value, S, err.value) From None
发布时间:2023/07/04 浏览次数:50 分类:Python
-
在 json 库中,有一个方法,loads(),它返回 JSONDecodeError 错误。 在本文中,我们将讨论如何解决此类错误并进行适当的处理。从 Python 中使用 try 的 None 中解决 raise JSONDecodeError("Expecting value", s,
解决 Python中 Attempted Relative Import With No Known Parent Package 错误
发布时间:2023/07/04 浏览次数:134 分类:Python
-
对导入系统的充分了解足以防止此类错误,包括 ImportError: attemptsrelative import with noknownparent package。 通过错误消息可以轻松排除问题的根源。
Python 错误 TypeError: Unsupported Operand Type(s) for +: 'NoneType' and 'Int'
发布时间:2023/07/04 浏览次数:114 分类:Python
-
在 Python 中,当您将整数值与空值相加时,会出现 TypeError: unsupported operand type(s) for +: 'NoneType' and 'int' 。 我们将在本文中讨论 Python 错误以及如何解决它。
Python 中错误 ModuleNotFoundError: No Module Named Openpyxl
发布时间:2023/07/04 浏览次数:79 分类:Python
-
本文将讨论 Python 的 No module named 'openpyxl' 错误。 当我们导入的模块未安装或位于另一个目录中时,会出现 ModuleNotFoundError。
Python 错误 Error: Bash: Syntax Error Near Unexpected Token '('
发布时间:2023/07/04 浏览次数:147 分类:Python
-
本篇文章将讨论错误:Bash: syntax error near unexpected token '('。Python 错误:Bash: syntax error near unexpected token '('您的计算机上需要安装 Python,解释器才能查找并运行 Python 文件。
Python 中错误 CSV.Error: Line Contains Null Byte
发布时间:2023/07/04 浏览次数:111 分类:Python
-
在 Python 中创建 CSV 文件 Python 中的 _csv.Error: line contains NULL byte 错误 假设您在尝试读取 CSV 文件时收到 _csv.Error: line contains NULL byte,很可能是因为文件中存在一个或多个 NULL 字节。
Python 中错误 AttributeError: Module Urllib Has No Attribute Request
发布时间:2023/07/04 浏览次数:106 分类:Python
-
Python 将缓存导入,因为您正在使用导入的模块供其自身使用,使其成为对象的一部分。Python 中 AttributeError:module 'urllib' has no attribute 'request' 当您尝试通过导入 URL 库打开 URL 链接时,此错误是
Python 错误 ValueError: Cannot Convert Float NaN to Integer
发布时间:2023/05/31 浏览次数:116 分类:Python
-
本篇文章将介绍如何修复 ValueError: cannot convert float NaN to integer 。使用 fillna() 方法修复python错误 ValueError: cannot convert float NaN to integer
修复 Python 错误TypeError: Missing 1 Required Positional Argument
发布时间:2023/05/31 浏览次数:152 分类:Python
-
本篇文章将讨论 Python 中的 TypeError: missing 1 required positional argument: 'self' 错误以及我们如何解决它。让我们讨论引发此错误的情况。不在 Python 中实例化对象