Чтобы найти индекс элемента в списке Python, мы можем использовать различные методы. Понимание списка можно использовать как [i for i, x in enumerate(our_list) if x == ‘element’], где ‘element’ — это элемент, который мы ищем. Метод index() напрямую возвращает индекс с помощью Our_list.index(‘element’).

Используя enumerate(), мы можем выполнить итерацию, как для i, x в enumerate (our_list), если x == ‘element’: print(i). С помощью filter() используйте next (i for i, x in filter (lambda ix: ix[1] == ‘element’, enumerate(our_list))). Для циклов for и while выполните итерацию и проверьте каждый элемент.

Существует шесть различных методов получения индекса элемента в списке Python. Давайте рассмотрим их один за другим, используя несколько наглядных примеров.

Содержание

Метод 1: используя понимание списка

  • Мы можем использовать Python List Comprehension, чтобы получить список всех индексов для вхождений определенного элемента в список.
  • Мы можем получить значения индекса или позиции всех экземпляров данного элемента в списке, используя понимание списка.

Синтаксис:

[exp for items in iterator if condition]

Пример. Давайте возьмем пример и проверим, чтобы получить индекс элемента в списке Python, используя понимание списка.

new_list = [62,84,29,82,29,29,11,29]
print("Input list : " ,new_list)
new_result = [i for i in range(len(new_list)) if new_list[i] == 29]
print("Indexes at which item 29 is present: ",new_result)

Вывод: в следующем коде сначала мы создали список в Python, а затем использовали метод понимания списка для перебора значений списка и установили условие, если new_list[i] == 29], тогда он вернет значения индекса это конкретные цифры.

Input list :  [62, 84, 29, 82, 29, 29, 11, 29]
Indexes at which item 29 is present:  [2, 4, 5, 7]

Вот реализация следующего кода Python:

Метод 1: используя понимание списка

Способ 2: с помощью функции index()

  • Index() — это встроенная функция в Python. Элемент передается в качестве аргумента, и эта функция возвращает индекс. С помощью этой функции мы можем определить индекс записи в списке в Python.
  • Эта функция принимает два основных параметра, а диапазон мест, в которых должен проводиться поиск, представлен дополнительными параметрами начала и окончания.

Синтаксис:

list.index(element, start, end)
Имя Описание
element Этот параметр указывает элемент, который вы ищете по индексу.
start Индекс, по которому мы хотим производить поиск.
end Это необязательный параметр для завершения поиска.

Список параметров, необходимых для функции index() в Python.

Пример. Давайте возьмем список на Python и проверим индекс элемента с помощью функции index().

Country_name = ["U.S.A", "Germany", "China"]

# Searching for “Germany”
print("The input country is present at: ", Country_name.index("Germany"))

Вывод: в следующем коде сначала мы создадим список, а затем воспользуемся функцией list.index(), и в этой функции мы передаем имя элемента, по которому мы хотим выполнить поиск.

The input country is present at:  1

Вот скриншот следующего кода:

Индекс Python -1 с функцией index()

Метод 3: с помощью функции enumerate()

  • Чтобы получить индекс элемента в списке Python с помощью функции enumerate(), мы можем перебрать список и сравнить каждый элемент с целевым значением.

Пример. Давайте возьмем пример и проверим индекс элемента в списке Python, используя enumerate() с целевым элементом.

cities = ["New York", "Los Angeles", "Chicago", "Houston", "Phoenix"]
target_city = "Chicago"

for index, city in enumerate(cities):
    if city == target_city:
        print("Index of Chicago in the list:", index)
        break
else:
    print("City not found in the list.")

Вывод: если элемент соответствует целевому элементу (в данном случае «Чикаго»), он печатает индекс элемента и выходит из цикла Python.

Index of Chicago in the list: 2

Вот скриншот следующего данного кода

Метод 3: с помощью функции enumerate()

Метод 4: с помощью фильтра() и лямбда-функции

  • На основе лямбда-функции, указанной в методе filter(), фильтруется заданный список в Python. Каждый элемент списка будет передан в функцию вместе с необходимыми элементами, которые будут фильтроваться в зависимости от условия функции.
  • Чтобы получить индексы указанного элемента в списке, воспользуемся методом filter().

Пример. Здесь мы возьмем пример и проверим, как получить индекс элемента в списке Python с помощью фильтра() и лямбда-функции.

new_vales = [78,23,17,17,89,56,17] 
print("Input list: ", new_vales)

new_result = list(filter(lambda m: new_vales[m] == 17, range(len(new_vales)))) 
print("Indexes for items 17 : ", new_result)

Вывод: лямбда-функция проверяет, равен ли элемент с индексом m в списке Python 17.

Input list:  [78, 23, 17, 17, 89, 56, 17]
Indexes for items 17 :  [2, 3, 6]

Вы можете обратиться к приведенному ниже снимку экрана.

Метод 4: с помощью фильтра() и лямбда-функции

Метод 5: используя цикл for

  • Цикл for используется для перебора диапазона индексов в списке Python. Функция range генерирует последовательность чисел, начиная от 0 до(но не включая) длины списка в Python, которая определяется функцией len().

Пример. Давайте возьмем список Python и пройдемся по нему, чтобы получить индекс элемента в списке Python, используя цикл for.

Cities_of_USA = ["NewYork", "NewYork", "California", "Florida", "Washington", "NewYork"] 
emp_list = [] 
for m in range(0, len(Cities_of_USA)) : 
    if Cities_of_USA[m] == 'NewYork' : 
        emp_list.append(m)
print("Input list ", Cities_of_USA)
print("Indexes for items NewYork : ", emp_list)

Вывод:

Input list  ['NewYork', 'NewYork', 'California', 'Florida', 'Washington', 'NewYork']
Indexes for items NewYork :  [0, 1, 5]

Метод 5: используя цикл for

Метод 6: с использованием цикла while

  • Цикл while для перебора списка в Python, сравнивая каждый элемент с целевым элементом.
  • Если совпадение найдено, цикл прерывается и выводится индекс найденного элемента. Если цикл завершается и элемент не найден, появляется сообщение о том, что элемента нет в списке Python.

Пример: предположим, что у нас есть список в Python, и мы хотим найти индекс определенного элемента, используя цикл while.

states = ["California", "Texas", "Florida", "New York", "Illinois"]
target_state = "Texas"

index = 0
found = False

while index < len(states):
    if states[index] == target_state:
        found = True
        break
    index += 1

if found:
    print("Index of Texas:", index)
else:
    print("Texas is not in the list.")

Вывод: этот скрипт будет искать элемент в списке Python и распечатывать его индекс, если он найден.

Index of Texas: 1

Вот реализация следующего кода:

Метод 6: с использованием цикла while

Добавить комментарий