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