Python/공통이론

Python - functools

zeroup 2023. 4. 6. 21:52

1. reduce(함수, 리스트)

- 인수로 주어진 함수를 리스트 내에 짝을 이루고 있는 이웃 항목에 적용하여 연산처리를 하고 결과를 누적하여 다시 인수로 넘기는 과정을 반복하며, 최종적으로 전체 항목을 처리한 결과를 반환한다.
- 인수로 넘기는 함수는 반드시 2개의 인수를 가져야하며 결과값을 반환해야 한다.

>>> import functools
>>> 
>>> def add_func(a, b) :
>>>     return a + b
>>> 
>>> def mul_func(a, b) :
>>>     return a * b
>>> 
>>> a_list = list(range(1, 5+1))
>>> 
>>> add_num = functools.reduce(add_func, a_list) # 15
>>> mul_num = functools.reduce(mul_func, a_list) # 120