본문 바로가기
TIL - 프로그래밍/개념, 설정

[Python] deque

by chaemj97 2022. 5. 3.
728x90
  • deque
    • 양쪽 끝에서 빠르게 추가와 삭제를 할 수 있는 리스튜류 컨테이너
    • 양방향 큐
    • 데이터의 회전도 가능!!!!
    • maxlen을 설정하여 최대 항목 수를 설정
from collections import deque
a = [10,20,30,40,50]

d = deque(a)
print(d)
# deque([10, 20, 30, 40, 50])

d.append(100)
print(d)
# deque([10, 20, 30, 40, 50, 100]) # 뒤에 추가

d.appendleft(1000)
print(d)
# deque([1000, 10, 20, 30, 40, 50, 100]) # 앞에 추가

temp1 = d.pop()
print(temp1)
print(d)
# 100
# deque([1000, 10, 20, 30, 40, 50]) # 뒤에 삭제

temp2 = d.popleft()
print(temp2)
print(d)
# 1000
# deque([10, 20, 30, 40, 50]) # 앞에 삭제

d.rotate(2)
print(d)
# deque([40, 50, 10, 20, 30]) # 2칸씩 뒤로 

d.rotate(-1)
print(d)
# deque([50, 10, 20, 30, 40]) # 음수도 가능

 

  • que의 단점
    • 비효율적이다
      • 리스트의 맨 앞에서 항목을 삭제하면 그 항목 이후의 모든 항목을 한 칸씩 앞으로 이동

 

728x90
반응형

댓글