[python] NameError : 이름 ‘reduce’가 Python에 정의되어 있지 않습니다

Python 3.2를 사용하고 있습니다. 이것을 시도 :

xor = lambda x,y: (x+y)%2
l = reduce(xor, [1,2,3,4])

그리고 다음과 같은 오류가 발생했습니다.

l = reduce(xor, [1,2,3,4])
NameError: name 'reduce' is not defined

reduce대화식 콘솔로 인쇄 를 시도했지만 이 오류가 발생했습니다.

NameError: name 'reduce' is not defined

되어 reduce정말 파이썬 3.2에서 제거? 이 경우 대안은 무엇입니까?



답변

로 이동했습니다 functools.


답변

추가 할 수 있습니다

from functools import reduce

Reduce를 사용하기 전에.


답변

또는 6 개의 라이브러리를 사용하는 경우

from six.moves import reduce


답변

이 경우 다음이 동일하다고 생각합니다.

l = sum([1,2,3,4]) % 2

이것의 유일한 문제는 큰 숫자를 생성하지만 반복되는 모듈로 연산보다 낫다는 것입니다.


답변