Что найти?

Как найти индекс элемента в списке в Python

/
/

Чтобы найти индекс первого вхождения элемента в данном списке в Python, вы можете использовать метод index() класса List с элементом, переданным в качестве аргумента.

index = mylist.index(element)

Метод index() возвращает целое число, представляющее индекс первого совпадения указанного элемента в списке.

Вы также можете указать начальную и конечную позиции списка, где должен происходить поиск в списке.

Ниже приводится синтаксис функции index() с начальной и конечной позициями.

index = mylist.index(x, [start[,end]])

Параметр start не является обязательным. Если вы указываете значение для начала, то конец указывать необязательно.

Мы рассмотрим примеры, где подробно рассмотрим каждый из этих сценариев.

Нахождение индекса элемента в Python

Пример 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 мы узнали, как найти индекс элемента в списке с помощью подробных примеров.

Оставить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

This div height required for enabling the sticky sidebar