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