Python教程

Python collections.deque()

本文主要是介绍Python collections.deque(),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

目录
  • 一、问题
  • 二、解决方案


一、问题

保留最后几个元素。


二、解决方案

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)

列表也可以实现这个操作。但队列更快。

队列两端插入、删除元素时间复杂度是O(1),在列表开头插入、删除元素时间复杂度是O(N)

q.appendleft(6)
print(q)

q.pop()
print(q)

q.popleft()
print(q)

输出:

deque([6, 3, 4], maxlen=3)
deque([6, 3], maxlen=3)
deque([3], maxlen=3)


这篇关于Python collections.deque()的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!