-
Python 함수 : CounterPrograming Language/Python 2020. 7. 31. 17:12반응형
Python 함수
Counter
Counter
-
리스트나 디션너리 원소들의 수를 셀 때 사용하는 함수
-
collections 패키지를 불러와야함
1. 기본 카운팅
# version1 from collections import Counter A = ['A','B','C','A','A','B'] Counter(A) # 결과 Counter({'A': 3, 'B': 2, 'C': 1}) # version2 # 각 안에 들어 있는 리스트 안에 value 원소들의 카운팅 B = [[1, 'A'], [2, 'B'], [3, 'B'],[4, 'A'], [7, 'C'], [6, 'B']] counter([v for k,v in B]) # 결과 Counter({'A': 2, 'B': 3, 'C': 1})
2. 딕셔너리 만들고 카운팅
- 딕셔너리는 동일한 키 값을 추가해주면, 기존에 있던 키 값에 덮어씌움.
- 왠만하면 딕셔너리 만들 때 동일한 키값 사용하지 않기
# 딕션너리 내에서 원소 별 카운팅 # 딕셔너리 만들기 c = [[1, 'A'], [2, 'B'], [3, 'B'],[4, 'A'], [7, 'C'], [6, 'B']] c = [v for k,v in c] c # 결과 ['A', 'B', 'B', 'A', 'C', 'B'] C = {i:0 for i in c} C # 결과 {'A': 0, 'B': 0, 'C': 0} # 카운팅하기 for i in c: C[i] += 1 C # 결과 {'A': 2, 'B': 3, 'C': 1} # Count 활용 Counter(c) # 결과 Counter({'A': 2, 'B': 3, 'C': 1})
3. 딕셔너리 추가해서 카운팅하기
c = [[1, 'A'], [2, 'B'], [3, 'B'],[4, 'A'], [7, 'C'], [6, 'B']] plus_list = [[9,'D'],[10, 'A'], [12, 'B'], [13, 'B'],[24, 'A']] # 기존의 C를 카운팅 C = Counter([v for k,v in c]) C # 출력 Counter({'A': 2, 'B': 3, 'C': 1}) # puls_list 추가하기 P = [v for k,v in plus_list] C.update(P) C # 결과 Counter({'A': 4, 'B': 5, 'C': 1, 'D': 1}) # 가장 많은 빈도인 1개 확인 C.most_common(2) # 결과 [('B', 5)]
4. Counter 활용 차집합 해보기
A = ['a','b','c'] B = ['b'] # 차집합 Counter(A)-Counter(B) # 결과 Counter({'a': 1, 'c': 1})
반응형'Programing Language > Python' 카테고리의 다른 글
Python HackerRank : Basic Warmup (0) 2020.07.31 Python HackerRank : Staircase (0) 2020.07.31 Python 내장함수 : zip 활용해서 리스트, 딕셔너리에 적용하기 (0) 2020.07.31 Python 내장함수 : zip (0) 2020.07.31 Python 프로그래머스 : 해시 함수2 (0) 2020.07.30 -