サイトアイコン Python Snippets

両端キューdeque / スタック

キューとスタックを使うために両端キュー(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]])

関連記事:

モバイルバージョンを終了