Python Glossary English

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