とある変人のお道具箱

技術系のことにについて幅広く触れていくブログです

【Python】長さ制限のあるキューを使う

Pythonで長さに上限があるQueue(キュー)を使いたいときにはcollections.dequeを使うことで簡単に実装できます。

import collections

sample_queue = collections.deque([],4)
for i in range(10):
    sample_queue.append(i)
    print(sample_queue)

実行結果

deque([0], maxlen=4)
deque([0, 1], maxlen=4)
deque([0, 1, 2], maxlen=4)
deque([0, 1, 2, 3], maxlen=4)
deque([1, 2, 3, 4], maxlen=4)
deque([2, 3, 4, 5], maxlen=4)
deque([3, 4, 5, 6], maxlen=4)
deque([4, 5, 6, 7], maxlen=4)
deque([5, 6, 7, 8], maxlen=4)
deque([6, 7, 8, 9], maxlen=4)

長さの上限が4で、4を超えてしまうときには一番古い要素が削除されているのがわかります。