#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]