首頁  >  文章  >  後端開發  >  python中使用deque保留最新N個元素的實作方法(程式碼)

python中使用deque保留最新N個元素的實作方法(程式碼)

不言
不言轉載
2018-10-11 14:12:421853瀏覽

這篇文章帶給大家的內容是關於python中使用deque保留最新N個元素的實現方法(程式碼),有一定的參考價值,有需要的朋友可以參考一下,希望對你有所幫助。

1、需求

做一個有限個數的歷史記錄。

2、解決方案

deque(maxlen=N),建立一個固定長度的佇列,當有新記錄加入並且佇列已滿時會自動移除最老的那筆記錄。

程式碼:

from collections import deque

q=deque(maxlen=3)

q.append(1)
q.append(2)
q.append(3)
print(q)
q.append(4)
print(q)
q.append(5)
print(q)

結果:

deque([1, 2, 3], maxlen=3)
deque([2, 3, 4], maxlen=3)
deque([3, 4, 5], maxlen=3)

如果不指定佇列的大小,也就得到了一個無界限的佇列,可以在兩端執行新增和彈出操作,

程式碼:

from collections import deque

q=deque()
q.append(1)
q.append(2)
q.append(3)
q.append(4)
print(q)
q.appendleft(5)
print(q)
print(q.pop())
print(q)
print(q.popleft())
print(q)

結果:

deque([1, 2, 3, 4])
deque([5, 1, 2, 3, 4])
4
deque([5, 1, 2, 3])
5
deque([1, 2, 3])

以上是python中使用deque保留最新N個元素的實作方法(程式碼)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:segmentfault.com。如有侵權,請聯絡admin@php.cn刪除