如何创建包含我的 class 实现的优先级队列?
How can I create priority queue that contains my class implementation?
我得到了我执行的任务 class,我想将我所有的任务插入到优先级队列中,python 中有一个吗?我是否需要在我的 class 中实现一些功能以使其具有可比性?
每个 class 获得优先编号。
Python确实有优先队列,看这里:https://docs.python.org/3/library/queue.html#Queue.PriorityQueue
这是一个简单的例子:
from queue import PriorityQueue
q = PriorityQueue()
q.put((2, 'code'))
q.put((1, 'eat'))
q.put((3, 'sleep'))
while not q.empty():
next_item = q.get()
print(next_item)
# Result:
# (1, 'eat')
# (2, 'code')
# (3, 'sleep')
你也可以使用heapq。
在不了解更多信息的情况下无法对您的实施发表评论...
我得到了我执行的任务 class,我想将我所有的任务插入到优先级队列中,python 中有一个吗?我是否需要在我的 class 中实现一些功能以使其具有可比性?
每个 class 获得优先编号。
Python确实有优先队列,看这里:https://docs.python.org/3/library/queue.html#Queue.PriorityQueue
这是一个简单的例子:
from queue import PriorityQueue
q = PriorityQueue()
q.put((2, 'code'))
q.put((1, 'eat'))
q.put((3, 'sleep'))
while not q.empty():
next_item = q.get()
print(next_item)
# Result:
# (1, 'eat')
# (2, 'code')
# (3, 'sleep')
你也可以使用heapq。
在不了解更多信息的情况下无法对您的实施发表评论...