리스트보다 앞/뒤에서의 삽입과 삭제가 빠르고 효율적이라서, 스택(stack)과 큐(queue) 모두를 구현

구조 연산 방식 메서드
스택 LIFO append(), pop()
FIFO append(), popleft()

📌 삽입 연산

메서드 설명 예시
append(x) 오른쪽(뒤)에 요소 x 추가 dq.append(4)[1, 2, 3, 4]
appendleft(x) 왼쪽(앞)에 요소 x 추가 dq.appendleft(0)[0, 1, 2, 3]
extend(iter) iterable 요소를 오른쪽에 모두 추가 dq.extend([4,5])[1,2,3,4,5]
extendleft(iter) iterable 요소를 왼쪽에 역순으로 추가 dq.extendleft([0,-1])[-1, 0, 1, 2, 3]

📌 삭제 연산

메서드 설명 예시
pop() 오른쪽(뒤) 요소 제거 및 반환 x = dq.pop()
popleft() 왼쪽(앞) 요소 제거 및 반환 x = dq.popleft()
remove(x) 첫 번째로 나오는 x 제거 dq.remove(2)[1, 3]