Как получить доступ к верхнему элементу в heapq, не удаляя (выталкивая) его python?

#python #heapq

#python #heapq

Вопрос:

Как получить доступ к верхнему элементу в heapq, не удаляя (выталкивая) его python?
Мне нужно только проверить элемент в верхней части моего heapq, не выталкивая его. Как я могу это сделать.

Ответ №1:

Из 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]