리스트보다 앞/뒤에서의 삽입과 삭제가 빠르고 효율적이라서, 스택(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] |