코테연습을 하다 보면 List 요소들을 뒤에서 꺼낼때는 .pop( ) 메서드를 사용하면 된다.
하지만 List를 스택 말고 큐처럼 사용할려면 어떻게 해야 할까.
deque 는 스택과 큐의 기능을 모두 가진 객체로써 스택처럼 사용할 수도 있고, 큐처럼 사용할 수도 있다.
우선 deque를 사용하기 위해서는
from collections import deque
로 import를 해주어야 한다. 그다음 deque(리스트) 식으로 사용해 주면 된다.
deque(arr)
이런식으로 말이다.
그렇다면 바로 예시를 통하여 여러 기능을 알아보자.
arr = [2, 4, 3, 1, 5]
que = deque(arr)
먼저 List 와 deque 를 만들어주자.
당연히 Stack 처럼 append 와 pop이 동작한다.
print(que.pop())
print(que)
que.append(6)
print(que)
실행결과
5
deque([2, 4, 3, 1])
deque([2, 4, 3, 1, 6])
자 이제 여기서 큐처럼도 동작할 수 있는데, appendleft( ) 와 popleft( ) 를 사용하여 List의 앞쪽에 추가하거나 앞쪽 요소를 꺼내 쓸수가 있다.
print(que)
print(que.popleft())
print(que)
que.appendleft(7)
print(que)
실행결과
deque([2, 4, 3, 1, 6])
2
deque([4, 3, 1, 6])
deque([7, 4, 3, 1, 6])
위 코드 실행 결과를 보면 List의 왼쪽 즉, 앞쪽에 요소를 삽입하고, 앞쪽부터 꺼내 쓸 수 있는 것을 확인할 수 있다.
위 메서드 외 일반적으로 List에서 사용하는 것들
등등
모두 정상적으로 잘 동작한다.