[Python] 유용한 함수 모음


서론

이 장은 파이썬에서 사용되는 유용한 함수에 대해서 설명한다.

목차

  1. functools.reduce
    1. join
    2. map 함수
    3. funct.tools.redudce

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] 일 때 계산 방식은 아래와 같다.

  1. f(1, 2) → 10*1 + 2 = 12
  2. f(1, 2), 3) →f(12, 3) → 10*12 + 3 = 123
  3. f(f(f(1, 2), 3) , 4) → f(f(12, 3), 4) → f(123, 4) → 10*123 + 4 = 1234
  4. 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)
  1. f(10, 1) → 10*10 + 1 = 101
  2. f(101, 2) → 10*101 + 2 = 1010+2 = 1012
  3. f(1012, 3) → 10*1012 + 3 = 10120 + 3 = 10123
  4. f(10123, 4) → 10*10123 + 4 = 101230 + 4 = 101234
  5. f(101234, 5) → 10*101234 + 5 = 1012340 + 5 = 1012345