Python中是否有这样一个队列的实现,它具有固定长度,当满时,弹出最左边的元素,同时在右边追加一个元素?
假设q = Queue([1,2,3,4,5])我的队列的最大长度为 5,我说q.append(6),那么预期输出print(q)应该是Queue([2,3,4,5,6])
这个问题也可以链接到:是否有一个固定大小的队列可以删除过多的元素?
回答我自己的问题:
我尝试过使用collections.deque()and queue.Queue(),并且deque是这样的实现
d = deque(maxlen=5)
d.extend([1,2,3,4,5])
print(d)
# deque([1, 2, 3, 4, 5], maxlen=5)
d.append(10)
print(d)
# deque([2, 3, 4, 5, 10], maxlen=5)
Run Code Online (Sandbox Code Playgroud)