Python

(Python) Collections

Accept 2024. 1. 30. 22:13

deque

연속적으로 나열된 데이터의 시작 부분이나 끝부분에 데이터를 삽입하거나 삭제할 때 매우 효과적이다.
주로 스택, 큐 자료구조의 대용으로 사용할 수 있다.

첫번째 원소를 제거할 때 popleft()를 사용하며, 마지막 원소를 제거할 때 pop()을 사용한다.
첫번째 인덱스에 원소 x를 삽입할 때, appendleft(x)를 사용하며, 마지막 인덱스에 원소를 삽입할 때 append(x)를 사용한다.

원소를 삽입할 때는 append(), 원소를 삭제할 때는 popleft()를 사용해서 큐 자료구조로 이용할 수 있다. 그러면 먼저 들어온 원소가 항상 먼저 나가게 된다.

from collections import deque

data = deque([2, 3, 4])
data.appendleft(1)
data.append(5)

# 결과
[1, 2, 3, 4, 5]​

 

Counter

등장 횟수를 세는 기능을 제공한다.
구체적으로 리스트와 같은 iterable 객체가 주어졌을 때, 해당 객체 내부의 원소가 몇 번씩 등장했는지을 알려준다.

from collections import Counter

counter = Counter(['red', 'blue', 'red', 'green', 'blue', 'blue'])

print(counter['blue'])
print(counter['green'])
print(dict(counter))

# 결과
3
1
{'red': 2, 'blue': 3, 'green': 1}​

'Python' 카테고리의 다른 글

(Python) 특수 문자 다루기  (0) 2024.02.01
(Python) math  (1) 2024.01.30
(Python) bisect  (1) 2024.01.29
(Python) heapq  (0) 2024.01.29
(Python) itertools  (0) 2024.01.29