서론
이 장은 파이썬에서 사용되는 유용한 함수에 대해서 설명한다.
목차
functools.reduce
join
a = [1, 2, 3, 4, 5] 로 숫자형으로 이뤄진 리스트가 있을 때 이를 하나로 합치는 방법
>>> ''.join(str(e) for e in a)
output: ‘12345’
map 함수
>>> ''.join(map(str, a))
output: ‘12345’
funct.tools.redudce
(초깃값이 0인 경우)
result = functools.reduce(lambda x, y: 10*x + y, a, 0)
마지막의 0은 초기값을 타나낸다. a = [1, 2, 3, 4, 5] 일 때 계산 방식은 아래와 같다.
- f(1, 2) → 10*1 + 2 = 12
- f(1, 2), 3) →f(12, 3) → 10*12 + 3 = 123
- f(f(f(1, 2), 3) , 4) → f(f(12, 3), 4) → f(123, 4) → 10*123 + 4 = 1234
- f(f(f(f(1, 2), 3) , 4), 5) → f(f(12, 3), 4), 5) → f(f(123, 4), 5) → f(1234, 5) → 10*1234 + 5 = 12345
(초깃값이 10인 경우)
result = functools.reduce(lambda x, y: 10*x + y, a, 10)
- f(10, 1) → 10*10 + 1 = 101
- f(101, 2) → 10*101 + 2 = 1010+2 = 1012
- f(1012, 3) → 10*1012 + 3 = 10120 + 3 = 10123
- f(10123, 4) → 10*10123 + 4 = 101230 + 4 = 101234
- f(101234, 5) → 10*101234 + 5 = 1012340 + 5 = 1012345
Comment