python中使用deque保留最新N个元素的实现方法(代码)
本篇文章给大家带来的内容是关于python中使用deque保留最新n个元素的实现方法(代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。
1、需求
做一个有限个数的历史记录。2、解决方案
deque(maxlen=N),创建一个固定长度的队列,当有新记录加入并且队列已满时会自动移除最老的那条记录。代码:
from collections import dequeq=deque(maxlen=3)q.append(1)q.append(2)q.append(3)print(q)q.append(4)print(q)q.append(5)print(q)
结果:
立即学习“Python免费学习笔记(深入)”;
deque([1, 2, 3], maxlen=3)deque([2, 3, 4], maxlen=3)deque([3, 4, 5], maxlen=3)
如果不指定队列的大小,也就得到了一个无界限的队列,可以在两端执行添加和弹出操作,
代码:
from collections import dequeq=deque()q.append(1)q.append(2)q.append(3)q.append(4)print(q)q.appendleft(5)print(q)print(q.pop())print(q)print(q.popleft())print(q)
结果:
立即学习“Python免费学习笔记(深入)”;
deque([1, 2, 3, 4])deque([5, 1, 2, 3, 4])4deque([5, 1, 2, 3])5deque([1, 2, 3])