Чтобы найти индекс элемента в списке 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: используя понимание списка
- Способ 2: с помощью функции index()
- Метод 3: с помощью функции enumerate()
- Метод 4: с помощью фильтра() и лямбда-функции
- Метод 5: используя цикл for
- Метод 6: с использованием цикла while
Метод 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:
Способ 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
Вот скриншот следующего кода:
Метод 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
Вот скриншот следующего данного кода
Метод 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]
Вы можете обратиться к приведенному ниже снимку экрана.
Метод 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]
Метод 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
Вот реализация следующего кода: