все 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Сообщить о неточности