61 lines
2.2 KiB
Markdown
61 lines
2.2 KiB
Markdown
# 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(<class 'list'>, {'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
|
|
```
|