Python Glossary English

все Python 3heapqфункция

heapq.heappop()

операции

Извлекает и возвращает наименьший элемент кучи, сохраняя её инвариант. На пустой куче поднимает IndexError. Сложность O(log n).

Синтаксис

heapq.heappop(heap)

На пустой куче это IndexError, а не None — либо проверяйте if heap:, либо ловите исключение. Чтобы просто подсмотреть минимум, не вынимая его, читайте heap[0]: индексация ничего не перестраивает и стоит O(1). Вычерпать всё через heappop действительно даёт отсортированную последовательность, но для готового списка sorted() проще и быстрее — heapq выигрывает, когда элементы приходят и уходят вперемешку.

Примеры

import heapq
h = [1, 2, 3]
heapq.heappop(h) # → 1
heapq.heappop(h) # → 2
h # → [3]

См. также

Частые ошибки

Открыть в полном глоссарииdocs.python.orgСообщить о неточности