6

如何在不删除(弹出)它的情况下访问 heapq 中的顶部元素 python?
我只需要检查我的 heapq 顶部的元素而不弹出它。我怎样才能做到这一点。

4

1 回答 1

7

来自docs python,在heapq.heappop 定义下,它说:

要访问最小的项目而不弹出它,请使用 heap[0]

它说最小,因为它是最小堆。所以顶部的项目将是最小的。

插图:

import heapq

pq = []

heapq.heappush(pq,5)
heapq.heappush(pq,3)
heapq.heappush(pq,1)
heapq.heappush(pq,2)
heapq.heappush(pq,4)

print("element at top = ",pq[0])
print("check the heapq : ", pq)

结果:

element at top =  1                                                                                        
check the heapq :  [1, 2, 3, 5, 4]
于 2020-10-07T14:23:36.003 回答