Сообщить об ошибке.

Функция heappushpop() модуля heapq в Python

Добавить элемент в кучу, а затем получить и удалить элемент

Синтаксис:

import heapq

heapq.heappushpop(heap, item)

Параметры:

  • heap - список с кучей,
  • item - добавляемый элемент.

Возвращаемое значение:

  • меньшее значение элемента кучи.

Описание:

Функция heappushpop() модуля heapq добавляет значение элемента item в кучу heap, затем возвращает и удаляет самый маленький элемент из кучи heap.

Комбинация push/pop функция [heapq.heappushpop() возвращает меньшее из двух значений, оставляя большее значение в куче.

Комбинированное действие выполняется более эффективно, чем вызов heapq.heappush(), за которым следует отдельный вызов heapq.heappop().

Примеры использования:

>>> import heapq
>>> h = [(3, 'three'), (1, 'one'), (7, 'seven'), (5, 'five'), (9, 'nine')]
>>> heapq.heapify(h)
>>> heapq.heappushpop(h, (0, 'zero'))
# (0, 'zero')
>>> h
# [(1, 'one'), (3, 'three'), (7, 'seven'), (5, 'five'), (9, 'nine')]
>>> heapq.heappushpop(h, (2, 'two'))
# (1, 'one')
>>> h
# [(2, 'two'), (3, 'three'), (7, 'seven'), (5, 'five'), (9, 'nine')]