美文网首页
保存最后n个元素

保存最后n个元素

作者: bigtom | 来源:发表于2016-09-18 23:15 被阅读6次

本系列来自python cookbook

问题

有时候,我们只需要保留最新的几个元素。比如,最新的二十件新鲜事;再比如,五个最近浏览的网站。所以我们需要一个独特的数据结构,它可以不断容纳新的元素,而当元素量达到容量限制后,先进入容器的元素将依次被丢弃。

class Container:
    def __int__(self, capacity):
        self.capacity = capacity
        self.items = []

    def push(self, item):
        if len(self.items) == self.capacity:
            del self.items[0]
        self.items.append(item)

队列

没错,这就是队列。事实上,我们可以用collections.deque来解决这个问题。

from collections import deque
q = deque(maxlen=5)
for i in range(20):
    q.append(i)
print q   # deque([15, 16, 17, 18, 19], maxlen=5)

相关文章

  • 保存最后n个元素

    本系列来自python cookbook 问题 有时候,我们只需要保留最新的几个元素。比如,最新的二十件新鲜事;再...

  • 保存最后N个元素

  • 定长队列保存最后N个元素

    需求背景 队列满了时候再添加元素,会自动弹出先进来的元素,再在后面添加 一个固定长度的集合里,当收到新的数据并且已...

  • deque(双向队列)

    保存最后N个元素 下面的代码对‘python.txt’文件做关键字‘python’匹配操作,当发现有匹配时,就输出...

  • 利用数组实现堆

    成员变量 元素个数N包含元素的数组items 方法 插入删除 插入实现 1 将元素直接插入到最后一个元素(N),N...

  • [underscore 源码学习] 数组定位 与 平摊数组

    数组定位 _.initial_.initial(array, n):获取 array 除了最后 n 个元素以外的元...

  • python数据结构

    Python CookBook总结 保留最后N 个元素 使用deque(maxlen=N) 构造函数会新建一个固定...

  • 常用css样式记录

    选取某元素父元素的最后两个元素 &:nth-last-child(-n+2){  border-bottom:no...

  • C语言的一些问题...

    1.【数组】 从键盘输入6个整数保存到数组中,求值最大的元素,将这个值最大的元素与数组的最后一个元素交换。最后输出...

  • 876. 链表的中间结点

    解题思路 解法一:数组 遍历链表,并将链表中的元素存入数组A。假设一共遍历到N个元素,最后返回数组A[N/2]即可...

网友评论

      本文标题:保存最后n个元素

      本文链接:https://www.haomeiwen.com/subject/scvgettx.html