import bisect bisect.bisect_right(a, x, lo=0, hi=len(a), *, key=None) bisect.bisect(a, x, lo=0, hi=len(a))
x
- вставляемое значение,a
- список, куда вставляется значение x
,lo=0
, hi=len(a)
- используются для определения подмножества списка a
(проще говоря это срез списка),key=None
- используется для извлечения ключа сравнения из каждого входного элемента (доступен с версии Python 3.10).int
(индекс для вставки элемента в список a
)Функции bisect()
и bisect_right()
ищет индекс для вставки элемента x
в отсортированный список a
, который расположен после (справа от) любых существующих записей x
в списке a
.
Возвращаемый индекс вставки i
разделяет массив a на две половины, так что all(val <= x for val in a[lo : i])
для левой стороны и all(val > x for val in a[i : hi])
для правой стороны.
Аргумент key
(доступна с версии Python 3.10) определяет ключевую функцию одного аргумента, которая используется для извлечения ключа сравнения из каждого входного элемента. Значение по умолчанию - None
, это означает, что элементы сравниваются напрямую.
Примеры использования функции bisect.bisect()
и bisect.bisect_right()
, смотрите в материале с общей информацией о модуле bisect
.
Изменено в Python 3.10: Добавлен аргумент key
.