Python Cookbook筆記-1.3 保留最後N個元素

Python Cookbook筆記-1.3 保留最後N個元素

問題描述:

在迭代操作操作的時候,怎樣只保留最後有限N個元素的歷史記錄?

解決方案:

使用 collections.deque(maxlen=N) 構造函數會新建一個固定大小的隊列。當新的元素加入並 且這個隊列已滿的時候,最老的元素會自動被移除掉。

代碼示例:

Python Cookbook筆記-1.3 保留最後N個元素

當然,如果q = deque()不設置最大長度,你可以得到一個無限長度的隊列,並且可以在兩邊插入和刪除元素。

Python Cookbook筆記-1.3 保留最後N個元素

這時候可以思考一個問題,

q = deque([1,2,3],maxlen=3)

q.appendleft(9)

這時候q丟失的是1,還是3?

Python Cookbook筆記-1.3 保留最後N個元素

PS:雖然用Python很久了,但是沒有完完整整的看過任何一本Python的書,不會了就上百度、Google上搜,到現在,腦子裡也沒有一個完整Python概念。所以為了讓自己可以認認真真地學習一遍Python,特此在頭條上開個系列,督促自己完成這個願望。


分享到:


相關文章: