# collections 모듈: 다양한 컨테이너 자료형 collections 모듈은 파이썬의 기본 컨테이너 자료형인 리스트, 딕셔너리, 튜플 등을 확장하여 다양한 기능을 제공하는 모듈입니다. 특정한 목적에 맞는 자료형을 제공하여 코드의 가독성을 높이고, 개발 생산성을 향상시키는 데 도움을 줍니다. - Counter 해시 가능한 객체(숫자, 문자열 등)의 개수를 세는 데 특화된 딕셔너리 서브클래스입니다. 단어 빈도수 계산, 투표 결과 집계 등에 유용하게 사용됩니다. - defaultdict 키가 존재하지 않을 때 기본값을 설정하여 반환하는 딕셔너리 서브클래스입니다. 데이터 구조를 초기화할 때 편리하며, 특히 중첩된 데이터 구조를 만들 때 유용합니다. - OrderedDict 항목이 추가된 순서를 기억하는 딕셔너리 서브클래스입니다. 딕셔너리의 순서를 유지해야 할 때 사용합니다. - deque 양쪽 끝에서 효율적으로 요소를 추가하거나 삭제할 수 있는 리스트와 유사한 자료형입니다. 큐, 스택 등을 구현하는 데 사용됩니다. - namedtuple 이름이 있는 필드를 가진 튜플을 생성하는 팩토리 함수입니다. 객체의 속성에 접근할 때 더 명확하고 안전하게 사용할 수 있습니다. ```python from collections import Counter, defaultdict, OrderedDict, deque, namedtuple # Counter words = ['apple', 'banana', 'apple', 'orange'] word_counts = Counter(words) print(word_counts) # Counter({'apple': 2, 'banana': 1, 'orange': 1}) # defaultdict default_dict = defaultdict(list) default_dict['colors'].append('red') default_dict['colors'].append('blue') print(default_dict) # defaultdict(, {'colors': ['red', 'blue']}) # OrderedDict ordered_dict = OrderedDict() ordered_dict['a'] = 1 ordered_dict['b'] = 2 print(ordered_dict) # OrderedDict([('a', 1), ('b', 2)]) # deque queue = deque(['a', 'b', 'c']) queue.append('d') queue.popleft() print(queue) # deque(['b', 'c', 'd']) # namedtuple Point = namedtuple('Point', ['x', 'y']) pt = Point(10, 20) print(pt.x, pt.y) # 10 20 ```