get() 从 Python 中的 队列 中删除并返回一个项目。
import queue
q = queue.Queue() # Here
q.put("Apple")
q.put("Orange")
q.put("Banana")
print(q.get())
print(q.get())
print(q.get())
输出:
Apple
Orange
Banana
现在,我想在不删除项目的情况下获取 队列 中的项目。
是否有可能做到这一点?
原文由 damon 发布,翻译遵循 CC BY-SA 4.0 许可协议
如您所见,
Queue
模块专为与线程一起使用而创建,仅提供 FIFO 、 LIFO 和 _优先级队列_,它们均未提供此功能。然而,通过检查Queue
模块的 源代码,您可以看到它只使用了一个collections.deque
(双端队列),它可以轻松完成您的任务。您可以在恒定时间内索引第一项 ([0]
) 和.popleft()
。