Python Glossary English

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

bisect.bisect_left()

позиция

Возвращает индекс, куда вставить x в отсортированный список, чтобы порядок сохранился — ПЕРЕД уже равными элементами. Поиск за O(log n).

Синтаксис

bisect.bisect_left(a, x, lo=0, hi=len(a))

Список обязан быть отсортирован — проверки нет, на неотсортированных данных функция молча вернёт бессмысленный индекс. И O(log n) относится только к поиску: сама вставка через insort остаётся O(n), потому что список сдвигает хвост, так что bisect не превращает list в быструю сортированную структуру при массовых вставках.

Примеры

import bisect
a = [1, 3, 3, 5, 7]
bisect.bisect_left(a, 3) # → 1 (перед равными)
bisect.bisect_left(a, 4) # → 3
bisect.bisect_left(a, 8) # → 5

См. также

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