1.3 保留最后N个元素

技术1.3 保留最后N个元素 1.3 保留最后N个元素在迭代操作时,怎样只保留最后有限几个元素的历史记录问题描述
在迭代操作时,怎样只保留最后有限几个元素的历史记录
解决方案
数据结构:collecti

1.3保留最后n个元素

迭代运算中如何只保留最后几个元素的历史?

问题描述

迭代运算中如何只保留最后几个元素的历史?

解决方案

结构:collections.deque

例如,以下代码匹配文本的每一行,并返回匹配行之前的最后n行:

从集合导入

def搜索(线条、图案、历史=5):

'''

发电机功能

'''

previous _ lines=deque(maxlen=history)

对于线路:中的线路

第:行的if模式

产量线,前一行

previous_lines.append(行)

if __name__=='__main__':

与f:一起打开(r'test.txt ')

对于行,搜索中的前一行(f,' python ',5):

对于prevlines:中的pline

打印(普林,end=' ')

打印('-' * 20)

总结

Deque是一个双向队列。deque(maxlen=N)将创建一个固定大小的新队列。当添加新元素并且队列已满时,最旧的元素将被移除。

deque类可以用于任何只需要简单队列数据结构的情况。如果不设置最大队列大小,可以得到一个可以存储无限数据的队列。deque可以在队列的两端添加和弹出元素:

q=deque()

q.append(1)

q.append(2)

# deque([1,2])

q.appendleft(4)

# deque([4,1,2])

p=q.pop()

# p=2,q=deque([4,1])

p=q.popleft()

# p=4,q=deque([1])

在队列两端中插入或删除元素的时间复杂度是O(1),而在列表开头中插入或删除元素的时间复杂度是O(N)(因为以下元素必须向后或向前移动)。

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/139155.html

(0)

相关推荐

  • 位图索引BitMap举例分析

    技术位图索引BitMap举例分析这篇文章主要介绍“位图索引BitMap举例分析”,在日常操作中,相信很多人在位图索引BitMap举例分析问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”位图索

    攻略 2021年12月8日
  • 如何选择合适的美国云服务器

    技术如何选择合适的美国云服务器在决定满足您需求的理想美国云服务器时,至少需要考虑五个因素。在所有这些因素上获得最高级别将确保您的网站能够提供出色的用户体验。这些因素是:速度 您的美国云服务器提供商的速度是您应该考虑的首要

    礼包 2021年11月26日
  • INTERVAL DAY TO SECOND数据类型是怎样的呢

    技术INTERVAL DAY TO SECOND数据类型是怎样的呢这篇文章给大家介绍INTERVAL DAY TO SECOND数据类型是怎样的呢,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。INT

    攻略 2021年11月30日
  • 计算机速成课 第八集 指令和程序

    技术计算机速成课 第八集 指令和程序 计算机速成课 第八集 指令和程序1. 给 CPU 一些指令来运行CPU 强大,是因为可编程
    写入不同指令,就会执行不同任务
    是一块硬件,可以被软件控制2. 举例:0

    礼包 2021年12月9日
  • css中加号是什么意思

    技术css中加号是什么意思这篇文章主要讲解了“css中加号是什么意思”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“css中加号是什么意思”吧!

    攻略 2021年11月17日
  • mysqld got signal举例分析

    技术mysqld got signal举例分析这篇文章主要介绍“mysqld got signal举例分析”,在日常操作中,相信很多人在mysqld got signal举例分析问题上存在疑惑,小编查阅了各式资料,整理出

    攻略 2021年11月19日