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

来源:07素材网 01月10日 12:24
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类可以在任何只需要一个简单队列的数据结构场合使用。如果不设置最大队列大小,就会得到一个无限大小的队列,可以在该队列的两端执行添加和弹出元素操作。
原文出处:https://www.noniu.com/jiaocheng/python-deque.html
版权声明:本文来源地址若非本站均为转载,若侵害到您的权利,请及时联系我们,我们会在第一时间进行处理。

头条

在使用SQLite3时遇到的几个坑

在使用SQLite3时遇到的几个坑

《本打算在SQLite3数据库里执行一个查询语句,使用的是php语言,起初遇到的是权限问题: permission denied,因为SQLite3数据库文件和PHP执行者属于两个不同的用户,首先需要对这个文件执行mode 777的权限开放,然后,又遇到了下面这样的PHP错误