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)

相关推荐

  • 嫣组词语,红姹嫣紫这四个字组成的成语

    技术嫣组词语,红姹嫣紫这四个字组成的成语姹紫嫣红chà zǐ yān hóng【解释】姹、嫣:娇艳嫣组词语。形容各种花朵娇艳美丽。【出处】明·汤显祖《牡丹亭·惊梦》:“原来姹紫嫣红开遍,似这般都付与断井颓垣。”【结构】联

    生活 2021年10月22日
  • 图像边缘检测:Canny算子、Prewitt算子和sobel算子

    技术图像边缘检测:Canny算子、Prewitt算子和sobel算子 图像边缘检测:Canny算子、Prewitt算子和sobel算子边缘检测是检测图像中的一些像素点,它们周围的像素点的灰度发生了急剧的

    礼包 2021年10月27日
  • 如何关闭mysql日志(mysqlbinlog日志开启后不生效)

    技术如何解决mysql的bin-log导致/var目录过大无法启动问题这期内容当中小编将会给大家带来有关如何解决mysql的bin-log导致/var目录过大无法启动问题,文章内容丰富且以专业的角度为大家分析和叙述,阅读

    攻略 2021年12月14日
  • 互联网中有哪些开源UML工具

    技术互联网中有哪些开源UML工具这篇文章主要介绍了互联网中有哪些开源UML工具,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1.StarUMLStarUM

    攻略 2021年12月11日
  • 怎么让APP永不崩溃

    技术怎么让APP永不崩溃本篇内容介绍了“怎么让APP永不崩溃”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!让我的APP永

    攻略 2021年10月21日
  • lob类型是什么意思(lob类型参数)

    技术LOB类型有哪些本篇内容主要讲解“LOB类型有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“LOB类型有哪些”吧!LOB相关的概念 LOB类型: 将信息文件(十进

    攻略 2021年12月22日