ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • reduce 활용법
    Computer Language/Python 2020. 12. 2. 01:49
    728x90

    python3에서는 외부함수로 빠진 reduce입니다.

    보통 lambda 함수와 붙여서 자주 사용되는데 용도를 정의하자면 element의 원소를 function연산결과로 합쳐줍니다.

    말로만 하면 이해가 어려우니 예제로 이해하는게 젤 편한것 같습니다.

    일단 사용하기 위해서는 선언을 해줘야합니다.

    from functools import reduce
    reduce(lambda x, y : x + y, list(range(1,5)))
    > 10

    이렇게하면 list의 모든값을 더한 결과 1개를 retuen합니다. 말 그대로 줄여주는거죠.

    이 공식만 만족하면 조건문이나 다른 연산도 가능합니다. 중간의 연산이 두가지 값으로 1가지 결과만 나오면 됩니다.

    reduce(lambda x, y : x if x > y else y , list(range(1,10)))
    > 9

    아래는 hackerrank에서 나오는 문제 예시입니다.

    from fractions import Fraction
    from functools importreduce
    
    def product(fracs):
        t = reduce( lambda x,y : x * y, fracs)
    return t.numerator, t.denominator
    
    if __name__ == '__main__':
        fracs = []
    
    for _ inrange(int(input())):
            fracs.append(Fraction(*map(int, input().split())))
        result = product(fracs)
    
    print(*result)

    댓글

Designed by black7375.