lambda, map에 이어 이번에는 reduce에 대해서 알아보겠다.

reduce란?

  • reduce는 인자로 함수와 리스트, 튜플과 같은 순서형 자료(iterable)이 들어간다.
  • reduce(함수, 순서형 자료)와 같은 모습으로 쓰인다.
  • reduce는 인자로 받은 순서형 자료의 원소들을 누적적으로 함수에 적용시킨다.

reduce 사용법

  • import functools를 해줘야한다. functools.reduce(함수, 순서형자료)로 쓸 수 있다.
  • 함수 인자 부분에는 람다가 들어갈 수도 있고, 함수가 들어갈 수도 있다.
  • reduce는 하나의 값을 리턴한다.

      import functools
    
      li = [1,2,3,4,5]
    
      functools.reduce(lambda x,y:x+y, li)
      # 15
    

reduce없이 구현한다면?

li = [1,2,3,4,5]

result = 0

for i in li:
    result += i

result
# 15

참고