-
reduce 활용법Computer Language/Python 2020. 12. 2. 01:49728x90
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)
'Computer Language > Python' 카테고리의 다른 글
map 활용법 (숫자 list를 문자열로 변환) (0) 2020.12.02 시간 함수 datetime (0) 2020.11.29 함수의 가변인자 *(Asterisk)의 의미 (0) 2020.11.28