問題描述:
在迭代操作操作的時候,怎樣只保留最後有限N個元素的歷史記錄?
解決方案:
使用 collections.deque(maxlen=N) 構造函數會新建一個固定大小的隊列。當新的元素加入並 且這個隊列已滿的時候,最老的元素會自動被移除掉。
代碼示例:
當然,如果q = deque()不設置最大長度,你可以得到一個無限長度的隊列,並且可以在兩邊插入和刪除元素。
這時候可以思考一個問題,
q = deque([1,2,3],maxlen=3)
q.appendleft(9)
這時候q丟失的是1,還是3?
PS:雖然用Python很久了,但是沒有完完整整的看過任何一本Python的書,不會了就上百度、Google上搜,到現在,腦子裡也沒有一個完整Python概念。所以為了讓自己可以認認真真地學習一遍Python,特此在頭條上開個系列,督促自己完成這個願望。
閱讀更多 愛套路愛生活 的文章