728x90
반응형
데크(deque) - Python
: 보통 큐(queue)는 선입선출(FIFO) 방식으로 작동한다. 이 때, 양방향 큐(queue)가 존재하는데 이것을 데크(deque)라고 부른다.
즉, 앞 뒤 양쪽 방향에서 엘리먼트(element)를 추가하거나 제거할 수 있기 때문에 append와 pop이 압도적으로 빠르다.
일반적인 리스트 O(n) > 데크 O(1)
데크 사용법
from collections import deque # 라이브러리 사용
deq = deque()
# 아이템을 데크의 왼쪽 끝에 삽입
deq.appendleft(10)
# 아이템을 데크의 오른쪽 끝에 삽입
deq.append(0)
# 데크의 왼쪽 끝 엘리먼트를 가져오는 동시에 데크에서 삭제함
deq.popleft()
#데크의 오른쪽 끝 엘리먼트를 가져오는 동시에 데크에서 삭제함
deq.pop()
rotate() 메서드 활용
# Contain 1, 2, 3, 4, 5 in deq
deq = deque([1, 2, 3, 4, 5])
deq.rotate(1)
print(deq)
# deque([5, 1, 2, 3, 4])
deq.rotate(-1)
print(deq)
# deque([1, 2, 3, 4, 5])
"스택과 큐의 기능을 한번에 가지고 있음"
728x90
반응형
'Programming Language > Python' 카테고리의 다른 글
Python - strip 함수와 split 함수의 차이 및 사용방법 (0) | 2022.06.27 |
---|---|
Python - 최대 재귀 한도 깊이로 인한 Runtime Error 해결 방법 (0) | 2022.06.22 |
CodeUp 기초 100제 정리 (0) | 2021.07.13 |
Python - 문법 공부 정리(9~10) (0) | 2021.07.03 |
Python - 문법 공부 정리(5~8) (0) | 2021.07.02 |