我想在 python 中构建一个优先级队列,其中队列包含不同的字典及其优先级编号。因此,当调用“get函数”时,优先级最高(编号最低)的字典将从队列中拉出,而当调用“add函数”时,新字典将被添加到队列中并根据其排序优先号码。
请大家帮忙...
提前致谢!
使用标准库中的heapq模块。
您没有指定如何将优先级与字典关联起来,但这里有一个简单的实现:
import heapq
class MyPriQueue(object):
def __init__(self):
self.heap = []
def add(self, d, pri):
heapq.heappush(self.heap, (pri, d))
def get(self):
pri, d = heapq.heappop(self.heap)
return d
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)