Solve Reduce는 Python에서 정의되지 않음
때때로 정의되지 않음
오류 메시지, 보다 광범위하게는 NameError
오류 메시지가 표시됩니다. 이러한 오류 메시지는 일반적이며 Python 코드 내에서 이름이 지정된 내용을 간단히 이해하면 쉽게 해결할 수 있습니다.
NameError
및 정의되지 않음
오류는 존재하지 않는 변수, 바인딩, 함수 또는 라이브러리에서 비롯됩니다. 이 컨텍스트에서 reduce
기능은 코드 내에 존재하지 않습니다.
이 기사에서는 Python 코드 내에서 reduce is not defined
오류를 해결하는 방법에 대해 설명합니다.
functools
를 사용하여 Python에서 NameError: name 'reduce'가 정의되지 않음
해결
reduce()
function은 목록 내의 각 요소에서 lambda function을 사용하여 목록에서 단일 값을 계산하는 데 도움이 됩니다. reduce()
함수는 배열에서 현재 요소를 가져와 목록 내의 모든 요소를 통과할 때까지 현재 값과 결합하거나 비교하여 값을 만듭니다.
Python 3 이전에는 reduce()
함수가 내장 함수로 작동했습니다. 따라서 목록 내의 모든 요소를 요약하는 아래 코드 스니펫이 작동했을 것입니다.
def anon(x, y):
return 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
def anon(x, y):
return x + y
sum = functools.reduce(anon, [1, 2, 3, 4])
print(sum)
코드 출력:
10
코드 내에서 from
키워드를 사용하여 reduce
를 쉽게 가져올 수 있습니다.
from functools import reduce
def anon(x, y):
return x + y
sum = reduce(anon, [1, 2, 3, 4])
print(sum)
코드 출력:
10
더 이상 코드 내에서 reduce is not defined
오류가 발생하지 않으며 이제 이러한 오류를 볼 때 무엇을 찾아야 하는지 이해할 수 있습니다.
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.
LinkedIn관련 문장 - Python Error
- AttributeError 수정: Python에서 'generator' 객체에 'next' 속성이 없습니다.
- AttributeError 해결: 'list' 객체 속성 'append'는 읽기 전용입니다.
- AttributeError 해결: Python에서 'Nonetype' 객체에 'Group' 속성이 없습니다.
- AttributeError: 'Dict' 객체에 Python의 'Append' 속성이 없습니다.
- AttributeError: 'NoneType' 객체에 Python의 'Text' 속성이 없습니다.
- AttributeError: Int 객체에 속성이 없습니다.