reduce 함수
참고 자료
reduce(함수
, 데이터
, 초기값
)
- 누적 집계를 위해서 사용한다.
- 함수에는 2가지 인자가 존재한다. (첫번째 인자는 누적자, 두번째 인자는 현재값)
reduce 코드
def reduce(function, iterable, initializer=None):
it = iter(iterable)
if initializer is None:
value = next(it)
else:
value = initializer
for element in it:
value = function(value, element)
return value
활용
from functools import reduce
from fractions import gcd
def solution(arr):
return reduce(lambda a, b : a * b // gcd(a, b), arr)
arr = [2,6,8,14]
print(solution(arr))
결과
168
a가 누적자이고, b가 현재값이다.
reduce 코드를 보면 처음에 초기값이 주어지지 않으면 arr의 첫번째 값으로 초기화 시킨다.(a = arr[0]
인 상태)
b = arr[1]
부터 시작해서 순환한다.
함수가 실행되고 다시 a에는 함수의 결과값이 저장된다.
이 과정이 arr 순환이 끝날 때까지 게속 된다.