Я создал простую очередь приоритетов в python, которая упорядочивает элементы по их значению:
import Queue
q = Queue.PriorityQueue()
for it in items:
q.put((it.value, it))
но когда я печатаю очередь, используя:
while not q.empty()
print q.get()
он всегда будет сначала печатать наименьшее значение. есть ли способ получить последний элемент в очереди, не меняя последние две строки в верхнем бите кода на:
for it in items:
q.put((-1*it.value, it))
потому что это кажется немного запутанным и создает проблемы, если я хочу использовать эту информацию для чего-то другого (мне придется снова умножить ее на -1)