gpt4 book ai didi

Python:从 PriorityQueue 中清除项目

转载 作者:太空宇宙 更新时间:2023-11-03 16:20:04 26 4
gpt4 key购买 nike

Clear all items from the queue

我阅读了上面的答案

我使用的是 python 2.7

import Queue
pq = Queue.PriorityQueue()
pq.clear()

我收到以下错误:

AttributeError: PriorityQueue instance has no attribute 'clear'

有没有办法轻松清空优先级队列,而不是手动弹出所有项目?或者会重新实例化工作(即它不会与 join() 混淆)?

最佳答案

它实际上是pq.queue.clear()。但是,正如您所引用的问题的答案中所提到的,这没有记录并且可能不安全。

this answer 中描述了最干净的方法。 :

while not q.empty():
try:
q.get(False)
except Empty:
continue
q.task_done()

只要代码的其他部分没有保留对旧队列的引用,重新实例化队列当然也可以工作(该对象可以简单地从内存中删除)。

关于Python:从 PriorityQueue 中清除项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38560760/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com