Перейти к содержимому

Пост канала

Точка входа в программирование
  1. фото

    Как искать по отсортированному списку с bisect В отсортированном списке не обязательно перебирать элементы. Бинарный поиск отбрасывает половину оставшегося диапазона на каждом шаге. В примере статьи для 10 млн чисел понадобилось 23 сравнения, а проверке через in — больше 2 млн. Модуль bisect делает такой поиск. bisect_left возвращает индекс первого совпадения, а bisect_right — позицию после последнего. Срез между ними содержит все повторы. Если значения нет, обе функции указывают, куда его вставить без нарушения сортировки. Чтобы проверить точное совпадение, убедитесь: индекс находится в списке, а элемент по нему равен искомому. Для тренировки возьмите отсортированный список с повторами: найдите границы значения, выведите срез и обработайте отсутствие совпадения. В разборе Python Morsels есть готовые рецепты для проверки наличия, подсчёта совпадений и поиска крайних индексов.

    Открыть в MAX
    Просмотры
    45
    ER
    2,2%
    Реакции
    1