キューとスタックを使うために両端キュー(deque)が使える。
>>> import collections
>>> d = collections.deque()
>>> d.append("a")
>>> d.append("b")
>>> d
deque(['a', 'b'])
>>> d.popleft()
'a'
>>> d
deque(['b'])
>>> d.popleft()
'b'
>>> d
deque([])
listを使っても同様のことができるが、listは末尾に対する操作は高速でも、dequeのpopleft()やappendleft()のような先頭に対する操作は遅くなる(pop(0), insert(0, v))ので、その場合にはdequeの方が良い。
参考:class collections.deque([iterable[, maxlen]])