[Python] functools.reduce
functools
functools
는 함수를 다루는 함수를 뜻하는 고계 함수(Higher-Order Function)을 지원하는 함수형 언어 모듈이다.
reduce
reduce
는 두 인수(arugument)의 함수를 누적 적용하는 메소드이다.
>>> functools.reduce(lambda x, y: x + y, [1, 2, 3, 4, 5])
15
위의 코드 결과는 ((((1+2)+3)+4)+5)이다.
가독성을 높이기 위해 operator
모듈을 활용할 수도 있다.
>>> from operator import add, mul
>>> functools.reduce(add, [1, 2, 3, 4, 5])
15
>>> functools.reduce(mul, [1, 2, 3, 4, 5])
120
숫자형 리스트를 단일 값으로 병합하기
>>> a = [1, 2, 3, 4, 5]
>>> ''.join(str(e) for e in a)
'12345'
>>> ''.join(map(str, a))
'12345'
>>> functools.reduce(lambda x, y: 10 * x + y, a, 0) # 숫자로 바로 변경
12345
Author And Source
이 문제에 관하여([Python] functools.reduce), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@t1won/Python-functools.reduce저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)