list.index(value) возвращает индекс первого равного элемента и выбрасывает ValueError, если совпадения нет. Поиск линейный; можно ограничить диапазон start и stop.
Как работает метод index() у списков?
list.index(value) возвращает индекс первого равного элемента и выбрасывает ValueError, если совпадения нет. Поиск линейный; можно ограничить диапазон start и stop.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
list.index(value) возвращает индекс первого равного элемента и выбрасывает ValueError, если совпадения нет. Поиск линейный; можно ограничить диапазон start и stop.
Пример: [4, 7, 4].index(4, 1) вернёт 2, поскольку поиск начинается со второго элемента. Возвращается индекс исходного списка, а не относительно диапазона. Сравнение основано на равенстве, поэтому пользовательский __eq__ тоже может влиять на результат. Проверка через in, а затем index повторяет поиск; когда отсутствие ожидаемо, удобнее обработать ValueError. Для многочисленных поисков стоит рассмотреть другую структуру данных с учётом повторяющихся значений.