본문 바로가기
코드문제

[어쩌다 알게 된] deque

by 황오독 2024. 10. 3.

코드 문제를 풀다가 우연히 챗지피티를 통해 알게 된 함수

 

deque(데크)는 파이썬에서 제공하는 자료구조이며, 모듈은 collections

리스트와 비슷하지만 양쪽에 문이 달린 상자라고 생각하면 쉽다.

리스트도 양쪽 하나씩 꺼낼 수 있긴하지만,, 하나씩 뒤로 밀거나 앞으로 땡겨야 한다.

그래서 리스트 크기가 클수록 시간이 오래걸려 코드 제한시간에 오바할 수가 있다.

 

리스트처럼 pop(), append()를 쓰지만,

앞에서 쉽게 popleft(), appendleft()를 통해 맨 앞쪽도 추가, 삭제하기 편하게 되어있다.

from collections import deque

my_box = deque([1, 2, 3])

my_box.popleft() # 1이 꺼내지고 [2, 3]남음
my_box.pop() # 3이 꺼내지고 [2] 남음

my_box.appendleft(0) # 상자 앞쪽에 0을 넣음, [0, 2]가 됨
my_box.append(4) # 맨 뒤에 4를 넣음, [0, 2, 4]가 됨