iterate 객체의 모든 요소를 누적 계산하는 함수

Python

1 분 읽기

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

방송통신대 - 오픈소스기반 데이터분석 (정재화)

// reading compass

이 글과 이어지는 경로

시리즈, 카테고리, 태그 겹침, 최신도를 점수화해 가까운 글일수록 중심에 배치합니다.

hover nodes or cards · click a node to pin
Next reads 0

    댓글 남기기