保存最后N个元素(collections.deque)

Posted iqunqunqun

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了保存最后N个元素(collections.deque)相关的知识,希望对你有一定的参考价值。

1、deque(maxlen=N)创建一个固定长度的队列,当有新的记录加入而队列已经满时,会自动移除老的记录(队列更加优雅和快速)

 1 from collections import deque
 2 q = deque(maxlen=3)
 3 q.append(1)
 4 q.append(2)
 5 q.append(3)
 6 q
 7 deque([1, 2, 3], maxlen=3)
 8 q.append(4)
 9 q
10 deque([2, 3, 4], maxlen=3)

 

2、找到最大或者最小的N个元素:heapq模块中的两个函数nlargest()nsmallest()

import heapq
nums = [1,5,6,458,6,787,5,45,6]
print(heapq.nlargest(3,nums))
[787, 458, 45]
print(heapq.nsmallest(3,nums))
[1, 5, 5]

 

以上是关于保存最后N个元素(collections.deque)的主要内容,如果未能解决你的问题,请参考以下文章

求解圆圈中最后剩下的数字

合并k个有序数组

1.3 保留最后N个元素

获取pyspark数组类型列的最后n个元素

牛刀小试

使用 Linq 获取集合的最后 N 个元素?