2025-01-23T11:02:27
This commit is contained in:
60
doc/49_collections.md
Normal file
60
doc/49_collections.md
Normal file
@@ -0,0 +1,60 @@
|
||||
# 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
|
||||
```
|
||||
Reference in New Issue
Block a user