알고리즘/학습 내용

[파이썬] collections 모듈(deque, Counter)

개발윗미 2021. 8. 9. 16:29

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))

 

[결과]

deque 결과

 

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)) #사전 자료형

 

[결과]

Counter 결과

 

'알고리즘 > 학습 내용' 카테고리의 다른 글

정렬 알고리즘  (0) 2021.08.25
재귀 함수 (Recursive Function)  (0) 2021.08.23
[파이썬] heapq  (0) 2021.08.09
[파이썬] 리스트 기본 메서드  (0) 2021.08.09
[파이썬] round( ) 함수  (0) 2021.08.09