list.index()

Метод index() возвращает индекс первого вхождения указанного значения в списке. Если значение не найдено, выбрасывается исключение ValueError. Поиск можно ограничить диапазоном через необязательные параметры start и stop.

Сигнатура

list.index(x, start=0, stop=sys.maxsize)

Параметры

  • x — искомое значение. Сравнение производится через ==.

  • start — индекс, с которого начинать поиск (включительно). По умолчанию 0.

  • stop — индекс, до которого вести поиск (не включительно). По умолчанию — до конца списка.

Возвращаемое значение

Целое число (int) — нулевой индекс первого вхождения. Если не найдено, выбрасывается ValueError.

Примеры использования

Пример 1. Поиск элемента.

boards = ["Arduino", "ESP32", "STM32", "ESP32"]
print(boards.index("ESP32"))
1

Пример 2. Обработка отсутствующего значения.

items = [10, 20, 30]
try:
    pos = items.index(99)
except ValueError:
    pos = -1
print(pos)
-1

Пример 3. Поиск в диапазоне.

Если нужно найти не первое, а следующее вхождение — задайте start:

data = [1, 2, 3, 2, 1, 2]
first = data.index(2)
second = data.index(2, first + 1)
print(first, second)
1 3

Пример 4. Ограничение области поиска.

values = [10, 20, 30, 40, 50]
print(values.index(30, 0, 4))
try:
    print(values.index(50, 0, 4))
except ValueError as e:
    print("Не найдено:", e)
2
Не найдено: 50 is not in list

Пример 5. Безопасная проверка перед поиском.

names = ["Алия", "Бахыт", "Айдос"]
target = "Бахыт"
if target in names:
    print(f"{target} стоит на позиции {names.index(target)}")
else:
    print(f"{target} не найден")
Бахыт стоит на позиции 1

См. также

  • list.count() — подсчёт количества вхождений

  • tuple.index() — аналогичный метод для кортежей

  • list.remove() — удаление первого вхождения

Примечание

Лицензия и источники

Техническое описание метода адаптировано из официальной документации Python (https://docs.python.org), доступной под Python Software Foundation License Version 2. Перевод на русский, примеры использования и пояснения — © AlashEd Wiki.