Stack Building
collections 모듈 본문
컨테이너에 동일한 값의 자료가 몇 개인지 파악하는 데에 사용. 가장 수가 큰 것부터 출력한다.
1. 리스트
import collections
list = ['a', 'b', 'b', 'c']
print(collections.Counter(list))
>>Counter({'b':2, 'a':1, 'c':1})
2. 딕셔너리
import collections
print(collections.Counter({'가': 3, '나': 2, '다': 4}))
>>Counter({'다': 4, '가': 3, '나': 2})
3. 값=개수
import collections
c = collections.Counter(a=2, b=3, c=2)
print(collections.Counter(c))
print(sorted(c.elements()))
>>Counter({'b': 3, 'c': 2, 'a': 2})
>>['a', 'a', 'b', 'b', 'b', 'c', 'c']
4. 문자열
import collections
container = collections.Counter()
container.update("aabcdeffgg")
print(container)
>>Counter({'f': 2, 'g': 2, 'a': 2, 'e': 1, 'b': 1, 'c': 1, 'd': 1})
5. 메소드
- update() : Counter의 값을 갱신
- elements() : 입력값을 풀어서 반환. 리스트화할 수 있고, 정렬sorted 가능
- most_common(n) : 입력값의 요소 중 빈도수가 높은 순으로 상위 n개를 리스트 안의 튜플 형태로 반환한다. n이 주어지지 않을 경우 요소 전체를 [('값', 개수)] 형태로 반환한다.
- subtract() : 요소를 제거. 만약 원래 값에 없는 것을 제거하려고 할 경우 음수가 출력된다.
- 그 외 덧셈 뺄셈과 같은 연산이 가능하며 교집합&과 합집합| 연산이 가능하다.
6. 출처
'Python' 카테고리의 다른 글
numpy 라이브러리 (0) | 2019.07.15 |
---|---|
lambda, map, filter, reduce (0) | 2019.07.13 |
heapq 모듈 (0) | 2019.07.10 |
Enumerate과 Zip (0) | 2019.07.09 |
Coding Convention (0) | 2019.07.09 |