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 |