더북(TheBook)

3.13 reduce 함수

파이썬 리스트의 더욱 흥미로운 기능은 리스트의 모든 항목을 한 번에 처리할 수 있는 함수를 여러분이 직접 작성하여 사용할 수 있다는 것이다. 바로 map이나 filter와 같은 리스트 메서드가 이 능력을 부여한다. map 메서드는 주어진 리스트의 전체 항목을 변환한 신규 리스트를 생성한다. filter 메서드는 구체적인 조건( 양수 추출)에 만족하는 항목들로 구성된 신규 리스트를 생성한다.

반면 리스트 함축(comprehension)(3.15절에서 소개)은 보통 mapfilter보다 더 나은 일을 한다.

한편 functools 패키지의 여러 함수를 사용하면 리스트를 다양한 방식으로 처리할 수 있다. functools 패키지를 사용하려면 다음과 같이 탑재해야 한다.

import functools

그러고 나서 functools.reduce 함수를 사용하여 리스트 전체 항목을 처리할 함수를 적용하면 된다.

functools.reduce(함수, 리스트)
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.