1
Я пытаюсь использовать модуль Python heapq
в моей программе, но я столкнулся с странной проблемой, используя heapq.heappop()
. Функция не возвращает наименьший элемент в куче. Взгляните на следующий код:Python: heapq.heappop() дает странный результат
Python 2.7.12 (default, Jul 1 2016, 15:12:24)
[GCC 5.4.0 20160609] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import heapq
>>> list = [[1326, 'a'], [654, 'b']]
>>> print heapq.heappop(list)
[1326, 'a']
>>> print heapq.heappop(list)
[654, 'b']
heappop()
Если не возвращать [654, 'b']
первый, а затем [1326, 'a']
?
Спасибо, это действительно проблема для приведенного выше примера. Для моего кода я обнаружил, что каждый раз, когда я редактировал кучу, мне нужно снова использовать функцию sort() (глупо меня). – jpaulus