gpt4 book ai didi

python - 如何遍历优先级队列?

转载 作者:太空宇宙 更新时间:2023-11-03 12:32:52 28 4
gpt4 key购买 nike

我正在尝试实现 Uniform-cost search在 Python 中,为此,我需要一个优先级队列,我正在使用 queue.py来自标准库。然而,算法的最后检查队列中是否有任何路径具有更高的成本。如果它不可迭代,我如何检查队列中是否有任何给定值?

最佳答案

queue.PriorityQueue其实是使用一个list实现的,put/get方法使用heapq.heappush/heapq.heappop 以维护该 list 内的优先顺序。因此,如果您愿意,您可以迭代包含在 queue 属性中的内部列表:

>>> from queue import PriorityQueue
>>> q = PriorityQueue()
>>> q.put((5, "a"))
>>> q.put((3, "b"))
>>> q.put((25, "c"))
>>> q.put((2, "d"))
>>> print(q.queue)
[(2, 'd'), (3, 'b'), (25, 'c'), (5, 'a')]

关于python - 如何遍历优先级队列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25823905/

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