Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Industrial programming >> Python

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

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

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

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

Из этого руководства вы узнаете:

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

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

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

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

Синтаксис

list.index(element, start, end)

Параметры

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

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

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

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

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

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

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  2
The index of element F is  5

Пример:использование start и end в 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 startindex
print("The index of element D is ", my_list.index('D', 1))

Вывод:

The index of element C is  2
The index of element F is  5
The 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 <module>
print("The index of element C is ", my_list.index('Z'))
ValueError: 'Z' is not in list

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

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

Теперь рассмотрим список как:my_list =[‘Гуру’, ‘Сия’, ‘Тия’, ‘Гуру’, ‘Дакша’, ‘Рия’, ‘Гуру’] . Имя «Гуру» присутствует в указателе 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 =['Гуру', 'Сия', 'Тия', 'Гуру', 'Дакша', 'Рия', 'Гуру'], нам нужны все индексы элемента 'Гуру'.

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

my_list = ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'] 
result = []
elementindex = -1
while True:
    try:
        elementindex = my_list.index('Guru', elementindex+1)
        result.append(elementindex)
    except  ValueError:
        break
print("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. Вы можете использовать перечисление, чтобы получить все индексы элемента в списке. Он принимает входные данные как итерируемый объект (т. е. объект, который можно зациклить), а на выходе представляет собой объект со счетчиком для каждого элемента.

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

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 np
my_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) После завершения установки импортируйте файл locate. модуль, как показано ниже

from more_itertools import locate

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

from more_itertools import locate
my_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]

Обзор:


Python

  1. std::list в C++ с примером
  2. Функция Python String strip() с ПРИМЕРОМ
  3. Количество строк Python() с ПРИМЕРАМИ
  4. Функция Python round() с ПРИМЕРАМИ
  5. Функция Python map() с ПРИМЕРАМИ
  6. Python Timeit() с примерами
  7. Счетчик Python в коллекциях с примером
  8. Счетчик списка Python() с ПРИМЕРАМИ
  9. Python удалить дубликаты из списка
  10. Удалить элемент из СПИСКА Python [clear, pop, remove, del]