Lösen Sie Reduzieren ist in Python nicht definiert
Von Zeit zu Zeit sehen wir uns oft mit Not Defined
-Fehlermeldungen und allgemeiner mit NameError
konfrontiert. Diese Fehlermeldungen sind typisch und leicht zu lösen, wenn ein einfaches Verständnis dessen, was in Ihrem Python-Code benannt wurde, vorhanden ist.
Die Fehler NameError
und Not Defined
stammen von einer nicht vorhandenen Variablen, Bindung, Funktion oder Bibliothek. Für diesen Kontext existiert die Funktion Reduzieren
in Ihrem Code nicht.
In diesem Artikel wird die Lösung des Fehlers Reduzieren ist nicht definiert
in Ihrem Python-Code erörtert.
Verwenden Sie functools
, um NameError: name 'reduce' is not defined
in Python zu lösen
Die Funktion reduce()
hilft dabei, einen einzelnen Wert aus einer Liste zu berechnen, indem eine Lambda-Funktion für jedes Element innerhalb der Liste verwendet wird. Die Funktion reduce()
baut einen Wert auf, indem sie das aktuelle Element aus dem Array nimmt und es mit dem aktuellen Wert kombiniert oder vergleicht, bis alle Elemente in der Liste durchlaufen sind.
Vor Python 3 funktionierte die Funktion reduce()
als eingebaute Funktion; Daher hätte das folgende Code-Snippet zum Zusammenfassen aller Elemente innerhalb einer Liste funktioniert.
def anon(x, y):
return x + y
sum = reduce(anon, [1, 2, 3, 4])
print(sum)
Wenn Sie jedoch den obigen Code ausführen, wird der folgende Fehler ausgegeben:
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
Denn reduce()
ist keine eingebaute Funktion mehr, sondern eine Funktion innerhalb einer eingebauten Bibliothek namens functools
, die Funktionen höherer Ordnung und Operationen auf aufrufbaren Objekten enthält. Da es sich bei reduce()
um eine Funktion höherer Ordnung handelt, ist es sinnvoll, vorhanden zu sein.
reduce()
ist eine Funktion höherer Ordnung, weil sie eine andere Funktion als Argument nimmt. Um nun reduce()
nutzen zu können, müssen wir functools
importieren:
import functools
def anon(x, y):
return x + y
sum = functools.reduce(anon, [1, 2, 3, 4])
print(sum)
Die Ausgabe des Codes:
10
Wir können es in unserem Code einfacher machen, das Schlüsselwort from
zu verwenden, um reduce
zu importieren:
from functools import reduce
def anon(x, y):
return x + y
sum = reduce(anon, [1, 2, 3, 4])
print(sum)
Die Ausgabe des Codes:
10
Wir haben keinen reduce is not defined
-Fehler mehr in unserem Code und können jetzt verstehen, worauf wir achten müssen, wenn wir einen solchen sehen.
Olorunfemi is a lover of technology and computers. In addition, I write technology and coding content for developers and hobbyists. When not working, I learn to design, among other things.
LinkedInVerwandter Artikel - Python Error
- Adresse wird bereits verwendet Fehler in Python
- AttributeError: __Exit__ in Python
- AttributeError: 'Dict'-Objekt hat kein Attribut 'Append' in Python
- AttributeError: 'NoneType'-Objekt hat kein Attribut 'Text' in Python
- AttributeError: Int-Objekt hat kein Attribut
- AttributeError: Modul Urllib hat keine Attributanforderung