파이썬의 자료구조 중 하나인 deque에 대해 알아보자
여담이지만 처음엔 '디큐' 인 줄 알았는데 알고보니 '데크' 이더라 흠흠
deque는 양쪽 끝 모두에 출입구를 가지고 있다.
스택처럼 사용할 수도 있고, 큐처럼 사용할 수도 있는 아주 훌륭한 자료구조이다.
from collections import deque
q = deque()
이러면 끝이다. 초기값을 넣어주고 싶으면 괄호 안에 넣어주면 된다.
q = deque('hello')
>> deque(['h', 'e', 'l', 'l', 'o'])
우선 리스트처럼 인덱스로 접근이 가능하다.
q = deque('hello')
print(q[2])
>> l
인덱스에 접근하여 수정 역시 가능하다.
q = deque('hello')
q[2] = 'o'
print(q)
>> deque(['h', 'e', 'o', 'l', 'o'])
push, pop 관련 함수들은 다음과 같다.
함수 이름도 직관적이고 리스트와 비슷한 구석이 아주 많아서 약방의 감초처럼 사용될 것 같다.
첫부분과 끝부분의 데이터에 접근하는 것이 굉장히 빠르기 때문에 push나 pop이 자주 일어나야 하는 문제에 사용하면 좋다.