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を超えてしまうときには一番古い要素が削除されているのがわかります。
コメント