[python] 누적 곱 구하기
코테 문제를 풀면서 리스트의 모든 원소의 누적합이나 누적곱을 구해야 하는 경우가 많다. 그래서 누적곱을 쉽게 구하는 방법을 정리하였다. 1. reduce 사용 - 리스트 내의 요소를 순차적으로 누적 계산한 결과를 리턴해준다. from functools import reduce ## 방법 1 - 함수 사용 def func(x,y): return x*y reduce(func, [1,4,2,5]) ## 방법 2 - 람다 사용 reduce(lambda x,y : x*y , [1,4,2,5]) 2. prod 사용 - math 라이브러리의 prod를 사용하여 구한다. from math import prod print(prod([1,4,2])) # 8
[python] collections 모듈 - Counter
1. Counter Counter 클래스는 컨테이너 안의 데이터를 편리하고 빠르게 개수를 세도록 지원한다. 예를 들어, 중복된 원소가 있는 배열을 인자로 넘겨주면 각 원소의 그 개수를 사전 형식으로 반환한다. import collections a= [1,1,2,2,3,3,3,3] cnt = collections.Counter(a) print(cnt) # Counter({3: 4, 1: 2, 2: 2}) 2. Counter 클래스 함수 elements() : 값의 요소를 풀어서 순서를 고려하지 않고 반환한다. 원소를 확인하기 위해 리스트로 감싼다. 그렇지 않으면 을 반환한다. import collections a= [1,1,2,2,3,3,3,3] cnt = collections.Counter(a) prin..