Как найти индекс элемента в списке в Python
Чтобы найти индекс первого вхождения элемента в данном списке в Python, вы можете использовать метод index() класса List с элементом, переданным в качестве аргумента.
index = mylist.index(element)
Метод index() возвращает целое число, представляющее индекс первого совпадения указанного элемента в списке.
Вы также можете указать начальную и конечную позиции списка, где должен происходить поиск в списке.
Ниже приводится синтаксис функции index() с начальной и конечной позициями.
index = mylist.index(x, [start[,end]])
Параметр start не является обязательным. Если вы указываете значение для начала, то конец указывать необязательно.
Мы рассмотрим примеры, где подробно рассмотрим каждый из этих сценариев.
Пример 1
В следующем примере мы взяли список с числами. С помощью метода index() найдем индекс пункта 8 в списке.
mylist = [21, 5, 8, 52, 21, 87]
item = 8
#search for the item
index = mylist.index(item)
print('The index of', item, 'in the list is:', index)
Вывод:
The index of 8 in the list is: 2
Элемент находится на 3-й позиции, поэтому функция mylist.index() вернула 2.
Пример 2
В следующем примере мы взяли список с числами. С помощью метода index() найдем индекс пункта 8 в списке, а также пропустим начало и конец. Функция рассматривает элементы в списке, начиная с начального индекса до конечной позиции в mylist.
mylist = [21, 8, 67, 52, 8, 21, 87]
item = 8
start=2
end=7
#search for the item
index = mylist.index(item, start, end)
print('The index of', item, 'in the list is:', index)
Вывод:
The index of 8 in the list is: 4
Объяснение:
mylist = [21, 8, 67, 52, 8, 21, 87]
----------------- only this part of the list is considered
^ index finds the element here
0 1 2 3 4 => 4 is returned by index()
Пример 3: если элемент имеет несколько вхождений в списке
Список в Python может содержать несколько экземпляров элемента. В таких случаях возвращается только индекс первого появления указанного элемента в списке.
mylist = [21, 5, 8, 52, 21, 87, 52]
item = 52
#search for the item
index = mylist.index(item)
print('The index of', item, 'in the list is:', index)
Вывод:
The index of 52 in the list is: 3
Элемент 52 присутствует два раза, но метод index() возвращает только индекс первого вхождения.
Давайте разберемся, как работает index(). Функция просматривает список с самого начала. Когда элемент соответствует аргументу, функция возвращает этот индекс. Более поздние случаи игнорируются.
Пример 4: если элемент отсутствует
Если элемент, который мы ищем в списке, отсутствует, вы получите ValueError.
В следующей программе мы взяли список и попытаемся найти индекс элемента, которого нет в списке.
mylist = [21, 5, 8, 52, 21, 87, 52]
item = 67
#search for the item/element
index = mylist.index(item)
print('The index of', item, 'in the list is:', index)
Вывод:
Traceback (most recent call last):
File "example.py", line 5, in <module>
index = mylist.index(item)
ValueError: 67 is not in list
Поскольку index() может вызывать ValueError, используйте Try-Except. В следующем примере мы узнаем, как использовать инструкцию try-except для обработки этой ValueError.
mylist = [21, 5, 8, 52, 21, 87, 52]
item = 67
try:
#search for the item
index = mylist.index(item)
print('The index of', item, 'in the list is:', index)
except ValueError:
print('item not present')
Вывод:
item not present
Элемент, индекс которого мы пытаемся найти, отсутствует в списке. Следовательно, mylist.index (item) выдает ValueError, после блок перехватывает эту ошибку, и соответствующий блок выполняется.
Заключение
В этом руководстве по Python мы узнали, как найти индекс элемента в списке с помощью подробных примеров.
Автор