원소 개수 세기(collections)

collections는 컨테이너 안의 원소의 개수를 빠르게 셀 수 있는 모듈이다.
list 자료형, dictionary 자료형 모두 Counter를 사용할 수 있다.

import collections

a_list = ['a', 'b', 'c', 'b', 'c', 'b', 'a']
a_counter = collections.Counter(a_list) # dictionary 타입으로 저장
print(a_counter) # Counter({'a':2, 'c':2, 'b':3})

Counter 클래스 안에는 유용한 method들이 존재한다.

elements() : 문자열 분해

입력된 문자열을 각각의 문자로 분해시킨다. 반환되는 요소는 순서가 없다.

import collections

ex_counter = collections.Counter("I love counter")
print(list(ex_counter.elements())) 
# ['I', 'l', 'o', 'o', 'v', 'e', 'c', 'u', 'n', 't', 'e', 'r'] 

most_common(n)

subtract()


Counter 는 산술연산이 가능하다.

빼기 연산

import collections

a_counter = collections.Counter('abcdeaaa')
b_counter = collections.Counter('abcde')
print(a_counter) # Counter({'a':4, 'b':1, 'c':1, 'd':1, 'e':1})
print(b_counter) # Counter({'a':1, 'b':1, 'c':1, 'd':1, 'e':1})
print(a_counter - b_counter) # Counter({'a':3})

좋은 웹페이지 즐겨찾기