Resolver Reducir no está definido en Python
De vez en cuando, a menudo nos encontramos con mensajes de error No definido
y, más ampliamente, Error de nombre
. Estos mensajes de error son típicos y fáciles de resolver si existe una comprensión simple de lo que se ha nombrado dentro de su código Python.
Los errores NameError
y Not Defined
provienen de una variable, enlace, función o biblioteca inexistente. Para este contexto, la función reducir
no existe dentro de su código.
Este artículo discutirá cómo resolver el error reducir no está definido
dentro de su código Python.
Use functools
para resolver NameError: el nombre 'reduce' no está definido
en Python
La función reduce()
ayuda a calcular un solo valor de una lista usando una función lambda en cada elemento dentro de la lista. La función reduce()
crea un valor tomando el elemento actual de la matriz y combinándolo o comparándolo con el valor actual hasta que pasa por todos los elementos dentro de la lista.
Antes de Python 3, la función reduce()
funcionaba como una función integrada; por lo tanto, el siguiente fragmento de código para resumir todos los elementos dentro de una lista habría funcionado.
def anon(x, y):
return x + y
sum = reduce(anon, [1, 2, 3, 4])
print(sum)
Sin embargo, si ejecuta el código anterior, daría el siguiente error:
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
Esto se debe a que reduce()
ya no es una función integrada, sino una función dentro de una biblioteca integrada llamada functools
, que contiene funciones y operaciones de orden superior en objetos invocables. Como reduce()
es una función de orden superior, tiene sentido estar presente.
reduce()
es una función de orden superior porque toma como argumento otra función. Ahora, para hacer uso de reduce()
, necesitamos importar functools
:
import functools
def anon(x, y):
return x + y
sum = functools.reduce(anon, [1, 2, 3, 4])
print(sum)
La salida del código:
10
Podemos facilitar dentro de nuestro código el uso de la palabra clave from
para importar reduce
:
from functools import reduce
def anon(x, y):
return x + y
sum = reduce(anon, [1, 2, 3, 4])
print(sum)
La salida del código:
10
Ya no tenemos un error de “reducir no está definido” dentro de nuestro código y ahora podemos entender qué buscar cuando lo vemos.
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.
LinkedInArtículo relacionado - Python Error
- Administrar fallas de segmentación en Python
- Archivo <Stdin>, Línea 1, en <Módulo> Error en Python
- Arreglar AttributeError: el objeto 'generador' no tiene atributo 'siguiente' en Python
- Arreglar el comando cl.exe falló: no existe tal archivo o directorio en Windows
- Arreglar NameError: la variable no está definida en Python
- Arreglar Socket.Gaierror: [Errno 8] Nodename ni Servname proporcionado, o desconocido en Python