for문 내에서 count()를 사용하면 그 복잡도가 급격히 증가하므로 Collections Counter를 사용하면 이점이 있다.
- Counter 생성자는 여러 형태의 데이터를 인자로 받는데, 중복된 데이터가 저장된 배열을 인자로 넣으면 각 원소가 몇 번씩 나오는지 저장된 객체를 dictionary 형태로 출력한다.
from collections import Counter >> Counter(["hi", "hey", "hi", "hi", "hello", "hey"]) Counter({'hi': 3, 'hey': 2, 'hello': 1})
- 문자열을 인자로 넣었을 경우
>> Counter("hello world") Counter({'h': 1, 'e': 1, 'l': 3, 'o': 2, ' ': 1, 'w': 1, 'r': 1, 'd': 1})
- dictionary 형태로 출력하기 때문에 대괄호에 key값을 대입해서 그 value값을 읽어낼 수 있다.
counter = Counter("hello world") counter["o"], counter["l"] (2, 3)