>  기사  >  백엔드 개발  >  Python의 Reduce() 함수 예

Python의 Reduce() 함수 예

黄舟
黄舟원래의
2017-10-03 05:44:491646검색

reduce() 함수는 매개변수 시퀀스에 요소를 축적합니다. 다음 글에서는 주로 Python의 Reduce() 함수 사용법을 소개합니다. 이 글은 예제 코드를 통해 매우 자세하게 소개되어 있어 모든 사람의 학습에 매우 유용합니다. 또는 작업에 대한 특정 참조 및 학습 가치가 있습니다. 필요한 친구는 아래를 살펴볼 수 있습니다.

머리말

이 글은 주로 Python의 Reduce() 함수 사용에 대한 관련 내용을 소개하고 참고 및 학습을 위해 공유합니다. 자세한 소개:

reduce() 함수는 functools 라이브러리에 있습니다. 사용하려면 이 라이브러리에서 가져와야 합니다. 축소 함수는 맵 함수와 다르다. 맵 연산은 병렬 연산이다. 축소 함수는 여러 매개변수를 조합한 연산, 즉 컴퓨터 알고리즘에서는 대부분의 경우에 해당된다. 단순화하다. 예를 들어, 이미지가 고양이인지 여부를 식별하려면 많은 픽셀에서 예 또는 아니오라는 판단을 추출해야 합니다. 수백만 개의 픽셀이 있을 수 있지만 결과는 하나만 나올 것입니다. GOOGLE의 대규모 클러스터에서는 이 아이디어를 사용하여 이전 병렬 처리 작업 맵을 호출하고 병렬 처리 후의 결과를 단순화하고 분류해야 합니다. Reduce는 하나의 호스트에서만 작동할 수 있고 분산 방식으로 처리할 수 없기 때문에 Reduce 프로세스 맵 결과는 이러한 결과가 매우 간단하고 데이터 양이 크게 줄어들며 처리 속도가 매우 빠르다는 것을 의미합니다.

그래서 맵리듀스 과정은 분석과 유도의 과정이라고 할 수 있습니다.

아래의 Reduce() 예시를 보세요:


#python 3. 6 
#蔡军生 
#http://blog.csdn.net/caimouse/article/details/51749579 
# 
from functools import reduce 
 
result = reduce(lambda x, y: x+y, [1, 2, 3, 4, 5]) 
print(result)

출력 결과:

15

이 예시에서 계산 과정은 실제로 다음과 같습니다:

( (((1+2)+3)+4)+5)


또 다른 계승 예를 살펴보세요:


#python 3. 6 
#蔡军生 
#http://blog.csdn.net/caimouse/article/details/51749579 
# 
from functools import reduce 
 
n = 3 
print(reduce(lambda x, y: x * y, range(1, n + 1))) # 6

출력 결과:

6

감소 함수와 마찬가지로 축소 함수는 매개변수 시퀀스의 요소를 누적합니다.

reduce 함수 정의:


reduce(function, sequence[, initial]) -> value

함수 매개변수는 두 개의 매개변수가 있는 함수입니다. Reduce는 시퀀스에서 요소를 차례로 가져오고 마지막 결과로 함수를 다시 호출합니다. 매개변수로 함수를 호출합니다.

함수를 처음 호출할 때 초기 매개변수가 제공되면 함수는 시퀀스의 첫 번째 요소와 매개변수로 초기를 사용하여 호출됩니다. 그렇지 않으면 함수는 처음 두 요소를 사용하여 호출됩니다. 매개변수로 순서를 지정합니다.


reduce(lambda x, y: x + y, [2, 3, 4, 5, 6], 1)

결과는 21( (((((1+2)+3)+4)+5)+6) )


reduce(lambda x, y: x + y, [2, 3, 4, 5, 6])

결과는 20

요약

위 내용은 Python의 Reduce() 함수 예의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.