collections 모듈은 파이썬의 내장 모듈인데, 다양한 자료구조인 list, tuple, dictionary 등을 확장하여 제작된 모듈이다.
기본적으로 collections 모듈은 deque, Counter, namedtuple, defaultdict, OrderedDict 등을 제공한다.
deque는 연속적으로 나열된 데이터의 시작 부분이나 끝 부분에 데이터를 삽입하거나 삭제할 수 있다.
또한, deque는 stack이나 queue 자료구조의 대용으로 사용될 수 있다.
아래의 표는 deque를 통해 원소를 삽입하거나 삭제하는 메서드이다.
메서드 | 설명 | 시간 복잡도 |
appendleft(a) | 원소 a를 첫 번째 인덱스에 삽입 | O(1) |
append(a) | 원소 a를 마지막 인덱스에 삽입 | O(1) |
popleft( ) | 첫 번째 원소를 삭제 | O(1) |
pop( ) | 마지막 원소를 삭제 | O(1) |
[deque 예제]
from collections import deque
data = deque([4, 5, 6])
data.appendleft(3)
data.append(7)
print(data)
print(list(data))
[결과]
collections 모듈에서 제공하는 Counter는 해당 객체 내부 원소의 등장 횟수를 세어주는 기능을 한다.
[Counter 예제]
from collections import Counter
data = Counter(['A', 'B', 'C', 'A', 'C'])
print(data['A'])
print(data['B'])
print(data['C'])
print(dict(data)) #사전 자료형
[결과]
'알고리즘 > 학습 내용' 카테고리의 다른 글
정렬 알고리즘 (0) | 2021.08.25 |
---|---|
재귀 함수 (Recursive Function) (0) | 2021.08.23 |
[파이썬] heapq (0) | 2021.08.09 |
[파이썬] 리스트 기본 메서드 (0) | 2021.08.09 |
[파이썬] round( ) 함수 (0) | 2021.08.09 |