В документах Python
Сначала записываются наизнанку записи (наименьшая ценность - та, что возвращается
sorted(list(entries))[0]
). Типичным примером для записей является кортеж в форме:(priority_number, data)
.
Кажется, очередь будет сортироваться по приоритету, а затем данные, что может быть не всегда правильным. Предположим, что данные "элемент 2" помещены в очередь до "пункта 1", элемент 1 по-прежнему будет первым. На другой странице документов heapq предлагается использовать счетчик. Поэтому я сохраню свои данные, например entry = [priority, count, task]
. Разве нет что-то вроде
PriorityQueue.put(item, priority)
Тогда мне не нужно будет выполнять заказ самостоятельно?