问题描述
如何在不删除(弹出)python的情况下访问heapq中的顶部元素?
我只需要检查heapq顶部的元素,而无需将其弹出。我该怎么办。
解决方法
在docs python下的heapq.heappop definition中,它表示:
要访问最小的项目而不弹出它,请使用堆[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]