Python Glossary English

все Python 3bisectпонятие

bisect

модуль

Двоичный поиск и вставка в отсортированный список без его пересортировки.

Синтаксис

import bisect

Модуль берут, когда список уже отсортирован и нужно быстро найти позицию: поиск идёт за O(log n). Вставка insort сохраняет порядок, но сама сдвигает элементы за O(n); для частых вставок и извлечения минимума лучше heapq. Модуль не проверяет, что список отсортирован, — на неотсортированном он молча даст неверный ответ.

Примеры

import bisect
scores = [10, 20, 30, 40]
print(bisect.bisect_left(scores, 25))  # → 2
bisect.insort(scores, 25)
print(scores)  # → [10, 20, 25, 30, 40]

См. также

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