Сообщить об ошибке.

Функция insort_left() модуля bisect в Python

Вставка в отсортированный список ДО существующего элемента

Синтаксис:

import bisect

bisect.insort_left(a, x, lo=0, hi=len(a), *, key=None)

Параметры:

  • x - вставляемое значение,
  • a - список, куда вставляется значение x,
  • lo=0, hi=len(a) - используются для определения подмножества списка a (проще говоря это срез списка),
  • key=None - используется для извлечения ключа сравнения из каждого входного элемента (доступен с версии Python 3.10).

Описание:

Функция insort_left() модуля bisect вставляет x в отсортированный список a, при этом сохраняя отсортированный порядок.

Аргумент key (доступна с версии Python 3.10) определяет ключевую функцию одного аргумента, которая используется для извлечения ключа сравнения из каждого входного элемента. Значение по умолчанию - None, это означает, что элементы сравниваются напрямую.

Эта функция сначала запускает bisect_left(), чтобы найти точку вставки. Затем он запускает метод list.insert() для вставки x в отсортированный список a, сохраняя отсортированный порядок.

Имейте в виду, что при поиске O(log n) преобладает медленный шаг вставки O(n).

Примеры использования функции insort_left(), смотрите в материале с общей информацией о модуле bisect.

Изменено в Python 3.10: Добавлен аргумент key.