Python List index () с примером

Содержание:

Anonim

Список - это контейнер, в котором в упорядоченной последовательности хранятся элементы различных типов данных (целые числа, числа с плавающей запятой, логические значения, строки и т. Д.). Это важная структура данных, встроенная в Python. Данные записываются в квадратных скобках ([]), а значения разделяются запятой (,).

Элементы внутри списка индексируются, первый элемент начинается с индекса 0. Вы можете вносить изменения в созданный список, добавляя новые элементы или обновляя, удаляя существующие. Он также может иметь повторяющиеся элементы и вложенный список.

В списке доступно множество методов, и самый важный из них - index ().

В этом руководстве вы узнаете:

  • Индекс списка Python ()
  • Использование цикла for для получения индекса элемента в списке
  • Использование цикла while и list.index ()
  • Использование понимания списка для получения индекса элемента в списке
  • Использование Enumerate для получения индекса элемента в списке
  • Использование фильтра для получения индекса элемента в списке
  • Использование NumPy для получения индекса элемента в списке
  • Использование more_itertools.locate () для получения индекса элемента в списке

Индекс списка Python ()

Метод list index () помогает найти первый наименьший индекс данного элемента. Если в списке есть повторяющиеся элементы, возвращается первый индекс элемента. Это самый простой и понятный способ получить индекс.

Помимо встроенного метода списка index (), вы также можете использовать другие способы получения индекса, такие как цикл по списку, использование списков, enumerate (), методы фильтрации.

Метод списка index () возвращает первый наименьший индекс данного элемента.

Синтаксис

list.index(element, start, end)

Параметры

Параметры Описание
элемент Элемент, которому вы хотите получить индекс.
Начните Этот параметр не является обязательным. Вы можете определить start: index для поиска элемента. Если не указан, значение по умолчанию - 0.
конец Этот параметр не является обязательным. Вы можете указать конечный индекс элемента для поиска. Если не указан, считается до конца списка.

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

Метод списка index () возвращает индекс данного элемента. Если элемент отсутствует в списке, метод index () выдаст ошибку, например, ValueError: «Element» отсутствует в списке.

Пример: найти индекс данного элемента.

В списке my_list = ['A', 'B', 'C', 'D', 'E', 'F'] мы хотели бы узнать индекс для элементов C и F.

В приведенном ниже примере показано, как получить index.

my_list = ['A', 'B', 'C', 'D', 'E', 'F']print("The index of element C is ", my_list.index('C'))print("The index of element F is ", my_list.index('F'))

Выход:

The index of element C is 2The index of element F is 5

Пример: использование начала и конца в index ()

В этом примере мы попытаемся ограничить поиск индекса в списке с помощью начального и конечного индекса.

my_list = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J']print("The index of element C is ", my_list.index('C', 1, 5))print("The index of element F is ", my_list.index('F', 3, 7))#using just the startindexprint("The index of element D is ", my_list.index('D', 1))

Выход:

The index of element C is 2The index of element F is 5The index of element D is 3

Пример: протестировать метод index () с элементом, которого нет.

Когда вы попытаетесь найти в списке индекс элемента, которого нет, вы получите сообщение об ошибке, как показано ниже:

my_list = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J']print("The index of element C is ", my_list.index('Z'))

Выход:

Traceback (most recent call last):File "display.py", line 3, in print("The index of element C is ", my_list.index('Z'))ValueError: 'Z' is not in list

Использование цикла for для получения индекса элемента в списке

С помощью метода list.index () мы увидели, что он дает индекс элемента, который передается в качестве аргумента.

Теперь рассмотрим список как: my_list = ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru']. Имя «Гуру» присутствует в указателе 3 раза, и я хочу, чтобы все указатели имели имя «Гуру».

Используя цикл for, мы сможем получить несколько индексов, как показано в примере ниже.

my_list = ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru']all_indexes = []for i in range(0, len(my_list)) :if my_list[i] == 'Guru' :all_indexes.append(i)print("Originallist ", my_list)print("Indexes for element Guru : ", all_indexes)

Выход:

Originallist ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru']Indexes for element Guru : [0, 3, 6]

Использование цикла while и list.index ()

Использование цикла while будет проходить по списку, чтобы получить все индексы данного элемента.

В списке: my_list = ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'] нам нужны все индексы элемента 'Guru'.

Ниже приведен пример, показывающий, как получить все индексы с помощью цикла while.

my_list = ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru']result = []elementindex = -1while True:try:elementindex = my_list.index('Guru', elementindex+1)result.append(elementindex)except ValueError:breakprint("OriginalList is ", my_list)print("The index for element Guru is ", result)

Выход:

OriginalList is ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru']The index for element Guru is [0, 3, 6]

Использование понимания списка для получения индекса элемента в списке

Чтобы получить все индексы, быстрый и простой способ - использовать понимание списка в списке.

Компоненты списков - это функции Python, которые используются для создания новых последовательностей (таких как списки, словари и т. Д.), Т. Е. С использованием уже созданных последовательностей.

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

В следующем примере показано, как это сделать:

my_list = ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru']print("Originallist ", my_list)all_indexes = [a for a in range(len(my_list)) if my_list[a] == 'Guru']print("Indexes for element Guru : ", all_indexes)

Выход:

Originallist ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru']Indexes for element Guru : [0, 3, 6]

Использование Enumerate для получения индекса элемента в списке

Функция Enumerate () - это встроенная функция, доступная в Python. Вы можете использовать enumerate, чтобы получить все индексы элемента в списке. Он принимает входные данные как повторяемый объект (т. Е. Объект, который может быть зациклен), а выходными данными является объект со счетчиком для каждого элемента.

В следующем примере показано, как использовать перечисление в списке, чтобы получить все индексы для данного элемента.

my_list = ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru']print("Originallist ", my_list)print("Indexes for element Guru : ", [i for i, e in enumerate(my_list) if e == 'Guru'])

Выход:

Originallist ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru']Indexes for element Guru : [0, 3, 6]

Использование фильтра для получения индекса элемента в списке

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

Давайте воспользуемся методом filter (), чтобы получить индексы для данного элемента в списке.

В следующем примере показано, как использовать фильтр в списке.

my_list = ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru']print("Originallist ", my_list)all_indexes = list(filter(lambda i: my_list[i] == 'Guru', range(len(my_list))))print("Indexes for element Guru : ", all_indexes)

Выход:

Originallist ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru']Indexes for element Guru : [0, 3, 6]

Использование NumPy для получения индекса элемента в списке

Библиотека NumPy специально используется для массивов. Итак, здесь мы воспользуемся NumPy, чтобы получить индекс нужного нам элемента из приведенного списка.

Чтобы использовать NumPy, мы должны установить его и импортировать.

Вот шаги для того же:

Шаг 1) Установите NumPy

pip install numpy

Шаг 2) Импортируйте модуль NumPy.

import numpy as np

Шаг 3) Используйте np.array для преобразования списка в массив

my_list = ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru']np_array = np.array(my_list)

Шаг 4) Получите индекс нужного элемента, используя np.where ()

item_index = np.where(np_array == 'Guru')[0]

Окончательный рабочий код с выводом выглядит следующим образом:

import numpy as npmy_list = ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru']np_array = np.array(my_list)item_index = np.where(np_array == 'Guru')[0]print("Originallist ", my_list)print("Indexes for element Guru :", item_index)

Выход:

Originallist['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru']Indexes for element Guru : [0 3 6]

Использование more_itertools.locate () для получения индекса элемента в списке

More_itertools.locate () помогает найти индексы элемента в списке. Этот модуль будет работать с python версии 3.5+. Чтобы использовать его, сначала необходимо установить пакет more_itertools .

Ниже приведены шаги по установке и использованию more_itertools.

Шаг 1) Установите more_itertools, используя pip (менеджер пакетов python). Команда

pip install more_itertools

Шаг 2) После завершения установки импортируйте модуль поиска, как показано ниже.

from more_itertools import locate

Теперь вы можете использовать модуль поиска в списке, как показано ниже в примере:

from more_itertools import locatemy_list = ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru']print("Originallist : ", my_list)print("Indexes for element Guru :", list(locate(my_list, lambda x: x == 'Guru')))

Выход:

Originallist : ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru']Indexes for element Guru : [0, 3, 6]

Резюме:

  • Метод list index () помогает найти индекс данного элемента. Это самый простой и понятный способ получить индекс.
  • Метод списка index () возвращает индекс данного элемента.
  • Если элемент отсутствует в списке, метод index () выдаст ошибку, например, ValueError: «Element» отсутствует в списке.
  • Помимо встроенного метода списка, вы также можете использовать другие способы получения индекса, такие как цикл по списку, использование списков, использование enumerate (), использование фильтра и т. Д.
  • Использование цикла for и while для получения нескольких индексов данного элемента.
  • Чтобы получить все индексы, быстрый и простой способ - использовать понимание списка в списке.
  • Компоненты списков - это функции Python, которые используются для создания новых последовательностей.
  • Они помогают сократить количество длинных циклов и упростить чтение и сопровождение кода.
  • Вы можете использовать enumerate, чтобы получить все индексы элемента в списке.
  • Функция Enumerate () - это встроенная функция, доступная в Python. Он принимает входные данные как повторяемый объект (т. Е. Объект, который может быть зациклен), а выходными данными является объект со счетчиком для каждого элемента.
  • Метод filter () фильтрует данный список на основе заданной функции.
  • Библиотека Numpy специально используется для массивов. Вы можете использовать NumPy, чтобы получить индекс элемента, указанного в списке.
  • More_itertools.locate () - это еще одна библиотека Python, которая помогает найти индексы данного списка.