все Python 3bisectфункция
bisect.bisect_right()
позиция
Возвращает индекс, куда вставить x в отсортированный список, чтобы порядок сохранился — ПОСЛЕ уже равных элементов. Синоним bisect().
Синтаксис
bisect.bisect_right(a, x, lo=0, hi=len(a))
Функция ничего не проверяет: если список не отсортирован, она молча вернёт бессмысленный индекс. Отличие от bisect_left заметно только на равных элементах — для ответа «есть ли такой элемент» нужен bisect_left, а bisect_right удобен, когда значение ровно на границе должно уйти в верхний диапазон. С Python 3.10 есть параметр key, но он применяется только к элементам списка: сам x передают уже в виде ключа.
Примеры
import bisect
a = [1, 3, 3, 5, 7]
bisect.bisect_right(a, 3) # → 3 (после равных)
bisect.bisect_right(a, 0) # → 0
bisect.bisect_right(a, 3) - bisect.bisect_left(a, 3) # → 2 (сколько троек)
См. также
Открыть в полном глоссарииdocs.python.orgСообщить о неточности