Stack Building

collections 모듈 본문

Python

collections 모듈

S00ahKim 2019. 7. 13. 23:22

컨테이너에 동일한 값의 자료가 몇 개인지 파악하는 데에 사용. 가장 수가 큰 것부터 출력한다.

 

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. 출처

https://docs.python.org/3/library/collections.html

https://excelsior-cjh.tistory.com/94

'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
Comments