Python Glossary English

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

bisect.insort_left()

вставка

Вставляет x в отсортированный список ПЕРЕД равными элементами, сохраняя порядок. Поиск места O(log n), но сама вставка O(n) из-за сдвига.

Синтаксис

bisect.insort_left(a, x)

Вставка линейна, поэтому собирать список из n элементов последовательными insort_left — это O(n^2); дешевле накопить всё и один раз вызвать sort(). Отличие от insort_right проявляется только тогда, когда среди равных по сравнению элементов есть различимые объекты: left ставит новый перед ними, ломая порядок поступления, right — после.

Примеры

import bisect
a = [1, 3, 4, 5]
bisect.insort_left(a, 3)
a # → [1, 3, 3, 4, 5]

См. также

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