728x90
deque는 파이썬에서 큐를 구현할 수 있는 모듈이다
deque를 사용하면 무엇이 좋을까?
- 속도가 리스트에 비해 빠르다
- 리스트 = O(n)
- deque = O(1)
- 큐작업이 굉장히 편해진다
deque는 링크드리스트 로 구현되어 있기 때문에 리스트를 이용한 스택을 이용하는 것보다 빠르기 때문에 사용하기 좋다
deque의 간단한 사용법을 알아보자면
아래와 같이 import 해서 사용할 수 있다
from collections import deque
- append: 오른쪽 끝에 원소 추가
- appendleft: 왼쪽 끝에 원소 추가
- pop: 오른쪽 끝에 원소 제거 후 반환
- popleft: 왼쪽 끝에 원소 제거 후 반환
- maxlen: 큐의 길이 반환
- rotate: 큐를 회전
- rotate(num): num이 양수일 경우 오른쪽으로 회전
- rotate(num): num이 양수일 경우 왼쪽으로 회전
from collections import deque
deck = deque() # 신규 덱(큐) 생성 ([])
deck.append(2) # ([2])
deck.append(4) # ([2,4])
deck.appendleft(1) # ([1,2,4])
deck.appendleft(3) # ([3,1,2,4])
b = deck.pop() #([3,1,2])
b #4
c = deck.popleft() #([3,1,2])
c #3
deck_rotate = deque([1,2,3,4,5,6]) #([1,2,3,4,5,6])
deck_rotate.rotate(2) #([5, 6, 1, 2, 3, 4])
deck_rotate.rotate(-4) #([3, 4, 5, 6, 1, 2])
728x90
'Backend > Python' 카테고리의 다른 글
[python] heapq: 힙이란? 파이썬에서 힙을 사용하고 싶을 때 (0) | 2024.04.04 |
---|---|
[python] 리스트 컴프리헨션(List Comprehension) : 반복문과 조건문 줄이고 싶을 때 (0) | 2024.04.01 |