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)

相关推荐

  • 抖音刷粉-抖音刷视频播放量

    技术抖音刷粉-抖音刷视频播放量抖音刷粉-抖音刷视频播放量
    所以如果我们找到一款产品,能够满足这样的需求,完全可以把快手作为一个卖场,因为快手本身商业模式,已经有成熟的趋势。
    抖音是目前及其火爆的短视频APP,伴随着5G时

    测评 2021年11月13日
  • Promise的介绍及基本用法是什么

    技术Promise的介绍及基本用法是什么这期内容当中小编将会给大家带来有关Promise的介绍及基本用法是什么,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。Promise是ES6引入的

    攻略 2021年10月22日
  • MySQL中pt-duplicate-key-checker工具怎么用

    技术MySQL中pt-duplicate-key-checker工具怎么用这篇文章主要为大家展示了“MySQL中pt-duplicate-key-checker工具怎么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑

    攻略 2021年11月2日
  • 早餐的重要性,每天吃早餐对健康有什么意义

    技术早餐的重要性,每天吃早餐对健康有什么意义谢邀请早餐的重要性!吃早餐对人的健康是非常重要的。早餐不仅要吃,而且还要吃的好,吃的有营养。人经过晚饭后十几个小时的能量消耗,所剩的热能几乎没有了,若早饭不能及时补充,会直接影

    生活 2021年10月22日
  • Python OpenCV与机器学习的碰撞举例分析

    技术Python OpenCV与机器学习的碰撞举例分析本篇内容主要讲解“Python OpenCV与机器学习的碰撞举例分析”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Pyt

    攻略 2021年12月4日
  • php如何获取指定日期是一周的第几天

    技术php如何获取指定日期是一周的第几天这篇文章主要讲解了“php如何获取指定日期是一周的第几天”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“php如何获取指定日期是一周

    攻略 2021年11月30日