deque
- 양방향 큐
- 크기를 지정할 수 있는 maxlen 파라미터를 지원하며 최대 크기를 초과할 때 가장 오래된 항목부터 제거된다.
- 양끝 엘리먼트의 append와 pop이 압도적으로 빠르다.
메서드
- deque.append(item): item을 오른쪽 끝에 삽입
- deque.appendleft(item): item을 왼쪽 끝에 삽입
- deque.pop(): 오른쪽 끝 엘리먼트를 가져오는 동시에 데크에서 삭제
- deque.popLeft(): 왼쪽 끝 엘리먼트를 가져오는 동시에 데크에서 삭제 (deque.pop(0)과 동일)
- deque.remove(item): item을 데크에서 찾아 삭제한다.
- deque.extend(array): 데크의 오른쪽에 array가 붙음
- deque.extendLeft(array): 데크의 왼쪽에 array가 붙음
- deque.rotate(num): 데크를 num만큼 회전한다. (양수면 오른쪽으로 음수면 왼쪽으로 shift)
- deque.insert(index, item): index 번째 항목에 item 추가
요약
=> push&pop을 많이 사용하는 알고리즘에서 유리하다.