是否可以将项目放在队列顶部而不是底部?在某些情况下,我需要重新填充队列,并在获取项目后保持原始顺序。
是否可以将项目放在队列顶部而不是底部?在某些情况下,我需要重新填充队列,并在获取项目后保持原始顺序。
根据定义,将内容放入队列中是放到末尾。
你应该使用deque代替。
继 DeepSpace 的建议之后,这里提供一个简单的实现方法,可以使用appendleft()
将一个元素放在Python队列的顶部。
from collections import deque
Q=deque([2,1,5,7,4,3])
Q.appendleft(8)
print('{}{}'.format("head: ", Q[0]))
输出:
deque([8, 2, 1, 5, 7, 4, 3])
head: 8
appendleft()
,可以使用列表属性进行操作,如下所示:deque([8]+list(Q))
输出:
deque([8, 2, 1, 5, 7, 4, 3])
dequeue
不会等待新消息到达.pop()
。推送from queue import Queue
q = Queue()
element = 1
q.put(2)
q.put(3)
q.queue.insert(0, element) # Insert element in index 0 (begin).
while not q.empty():
print(q.get())
from collections import Deque
- Reblochon Masque