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)

相关推荐

  • 汽车灯光标志,如何快速诊断汽车灯光故障

    技术汽车灯光标志,如何快速诊断汽车灯光故障快速诊断汽车灯光故障1)检查灯泡:通常目测的方法进行检查,如果灯泡黑蒙蒙或灯丝熔断,应更 换新灯泡汽车灯光标志。2)检查熔丝:如果熔丝频繁熔断或一开前照灯就熔断,应排除灯光线路短

    生活 2021年10月23日
  • jupyterNotebook提升使用体验的几个隐藏功能分别是什么

    技术jupyterNotebook提升使用体验的几个隐藏功能分别是什么本篇文章为大家展示了jupyterNotebook提升使用体验的几个隐藏功能分别是什么,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详

    攻略 2021年12月4日
  • 本地歌曲怎么导入快手,快手里面怎么设置本地音乐

    技术本地歌曲怎么导入快手,快手里面怎么设置本地音乐快手APP加载本地音乐本地歌曲怎么导入快手:
    1、首先打开快手APP,右上角有个摄像机图标,点进去;
    2、进去后,随便创建一个作品,选择需要添加的照片,选择【多图】后点击

    生活 2021年10月30日
  • 小程序Vant组件如何将默认样式单位px转为rpx

    技术小程序Vant组件如何将默认样式单位px转为rpx本篇内容介绍了“小程序Vant组件如何将默认样式单位px转为rpx”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处

    攻略 2021年10月29日
  • 树莓派linux内核如何编译

    技术树莓派linux内核如何编译树莓派linux内核如何编译,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。之前我们讲过树莓派交叉编译工具链的安装和配置,今天

    攻略 2021年10月21日
  • 香港服务器租用为什么要选择大品牌

    技术香港服务器租用为什么要选择大品牌很多香港地区的机房服务商提供的服务器看上去虽然配置参数都是差不多的,但是在价格的差别是比较大的,因此对于用户来说如何选择合适自己的服务器,其实最推荐的还是租用有品牌的大型服务商,下面就

    礼包 2021年10月20日