使用deque保留最后添加的元素
deque方法可以用来保存有限的队列。比如历史记录,我们只想保留最后的10条,如果产生了11条历史记录,最早的那一条历史记录就会被自动删除。比起我们手动的使用添加记录,再删除超出数目的记录,这方法更简洁、高效。下面是具体用法:
>>> from collections import deque >>> q = deque(maxlen=3) # 限制最大数目为3 # 添加元素 >>> q.append(1) >>> q.append(2) >>> q.append(3) >>> q deque([1, 2, 3], maxlen=3) # 再继续添加 >>> q.append(4) >>> q deque([2, 3, 4], maxlen=3) # 最早添加的元素已经被删除 >>> q.append(5) >>> q deque([3, 4, 5], maxlen=3) >>> q.appendleft(6) # 还可以在最左边添加元素 >>> q deque([6, 3, 4], maxlen=3)
同时,这个对列表的操作也更高效。deque对列表两端的插入删除元素的时间复杂度是O(1),而在列表的开头插入或者删除元素的时间复杂度是O(N)。
posted on 2017-01-10 20:22 Chenyvvvvuuuui 阅读(186) 评论(0) 收藏 举报
浙公网安备 33010602011771号