欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  程序教程

Python保留队列最后的N个元素

程序员文章站 2022-01-13 17:56:26
...

本文为Python CookBook一书的阅读笔记。

Python中如何记录当前的浏览记录呢?实现方法当然有很多种。比如可以使用Python列表list数据结构,只是每次在列表首尾操作数据会比较麻烦。下面有一种更方便的方法,使用collections模块中的deque数据结构。

deque使用介绍

使用deque(maxlen=N)构造函数会新建一个固定大小的队列,当新的元素加入并且这个队列已满时,最早添加的元素会自动移除。代码示例如下:

from collections import deque

q = deque(maxlen=3)
q.append(1)
q.extend([x for x in range(2, 10)])
# 结果为:deque([7, 8, 9], maxlen=3)
print(q)
q.appendleft(10)
# 结果为:deque([10, 7, 8], maxlen=3)
print(q)
# 结果为:10
print(q.popleft())

尽管也可以在列表上实现增加、删除等操作。但是使用deque队列方案会更加优雅并且性能更好。deque类可以在任何只需要一个简单队列的数据结构场合使用。如果不设置最大队列大小,就会得到一个无限大小的队列,可以在该队列的两端执行添加和弹出元素操作。

相关标签: python教程