问题:在迭代操作或者其他操作的时候,怎样只保留最后有限几个元素的历史记录?
方案:collections.deque
使用 deque(maxlen=N) 构造函数会新建一个固定大小的队列。当新的元素加入并且这个队列已满的时候, 最老的元素会自动被移除掉。
>>> q = deque(maxlen=3) >>> q.append(1) >>> q.append(2) >>> q.append(3) >>> q deque([1, 2, 3], maxlen=3) >>> q.append(4) >>> q deque([2, 3, 4], maxlen=3) >>> q.append(5) >>> q deque([3, 4, 5], maxlen=3)
deque类可以被用在任何只需要简单队列数据的场合, 如果你不设置最大队列大小,那么就会得到一个无限大小队列,你可以在队列的两端执行添加和弹出元素的操作。>>> q = deque() >>> q.append(1) >>> q.append(2) >>> q.append(3) >>> q deque([1, 2, 3]) >>> q.appendleft(4) >>> q deque([4, 1, 2, 3]) >>> q.pop() 3 >>> q deque([4, 1, 2]) >>> q.popleft() 4
本文介绍如何利用Python标准库中的deque来实现固定长度的历史记录管理。deque是一种高效的数据结构,适用于需要频繁添加和删除元素的应用场景,特别是对于需要保存最近N条记录的需求,通过设置maxlen参数可以自动移除旧数据。
633

被折叠的 条评论
为什么被折叠?



