파이썬 (함수형 프로그래밍)를 전진 [2-3] 파이썬 함수를 줄일

줄이거 함수 2-3 파이썬

파이썬 () 함수를 줄일

감소 () 함수는 또한 내장되어 파이썬 고차 기능. 함수 및 파라미터 수신 된 맵 () 함수 F, 목록과 유사한) (감소하지만, 동작 및 맵 () 상이 감소 () 함수 F는 수신 받아야 두 개의 매개 변수 , 은 (목록의 각각에 대해) 감소 요소는 반복 함수 f를 호출하고, 최종 결과 값을 리턴한다 .

예를 들어, x 및 y는, x 및 y와 리턴 수신 기능 (F)의 제조 :

1 개  데프 F (X, Y)
 2      리턴 X + Y

(F [1, 3, 5, 7, 9)를 감소 호출은 다음과 같이 계산되는 경우, 기능을 감소 :

. (1 ,. 3 : 우선 처음 두 요소를 계산 F를 ), 그 결과는 4이며, 
그 제 3 원소의 결과 및 계산된다 : F ( 4 ,. 5 ) 결과는 9이다; 
계산 및 네번째 엘리먼트의 다음 결과 : F ( 9, 7 ), 그 결과는 16이며, 
다음의 계산 결과 및 다섯 개 원소 : F ( 16, 9 ), 25이었다 
더 요소 계산의 단부가 없기 때문에, 그 결과 (25)가 돌아왔다.

위에서 계산 실제로리스트의 모든 요소를 ​​합산한다. 파이썬 내장 sum 함수의 합 () 그러나,의 사용은 감소하지만 () 합도 매우 간단합니다.

또한 수신 할 수있다) (감소 세번째 선택적인 매개 변수 는 AS, 초기 값 계산 . (100)의 초기 값 경우 계산치 :

1 감소 (F [1, 3, 5, 7, 9, 100)

계산의 첫번째 원형이기 때문에 결과는 125이된다 :

첫 번째 요소의 초기 값을 계산하는 단계 (100, 1) (F)를, 그 결과는 101이다.

태스크

파이썬 내장 sum 함수의 합 ()하지만, 직교 작동하지 않습니다 구적에 recude ()를 사용하십시오 :

입력 : 2, 4, 5, 7, 12]
출력 : 결과 4 * 2 * 5 * 7 * 12

1 개  데프 자극 (X, Y)
 2      복귀 의 X *의 3  
(4)  잉크가 감소 (자극, [2, 4, 5, 7, 12])

 

추천

출처www.cnblogs.com/ucasljq/p/11610862.html