reduce 함수
정의
- 반복 가능한 객체의 모든 요소를 특정 함수로 누적 계산해 하나의 값으로 축소하는 함수
- 반복문을 사용하지 않고 데이터를 하나의 값으로 집계
- 기본 내장함수는 아니고, functools 모듈에서 제공함
기본 문법
1
2
from functools import reduce
reduce(함수, iterate객체)
- 작동 방식
(1) 첫 번째와 두 번째 요소를 함수에 적용해 중간 결과를 생성한다.
(2) 그 중간 결과와 다음 요소를 다시 함수에 적용해 2차 중간 결과를 생성한다.
(3) 1-2 과정을 반복해 최종적으로 하나의 값을 변환한다.
활용 예시
1
2
3
from functools import reduce
numbers = [1, 2, 3, 4, 5]
print(reduce(lambda x,y: x + y, numbers))
만약 반복문으로 작성했다면
1
2
3
4
5
6
7
numbers = [1, 2, 3, 4, 5]
sum = 0
for number in numbers:
sum += number
print(number)
Reference
방송통신대 - 오픈소스기반 데이터분석 (정재화)
Comments