Индекс списка Python() с примером
Список — это контейнер, в котором хранятся элементы различных типов данных (целые числа, числа с плавающей запятой, логические значения, строки и т. д.) в упорядоченной последовательности. Это важная структура данных, встроенная в Python. Данные записываются в квадратных скобках ([]), а значения разделяются запятой (,).
Элементы внутри списка индексируются с первым элементом, начинающимся с индекса 0. Вы можете вносить изменения в созданный список, добавляя новые элементы или обновляя, удаляя существующие. Он также может иметь повторяющиеся элементы и вложенный список.
В списке доступно множество методов, и самым важным из них является index().
Из этого руководства вы узнаете:
- Индекс списка Python()
- Использование цикла for для получения индекса элемента в списке
- Использование цикла while и list.index()
- Использование понимания списка для получения индекса элемента в списке
- Использование Enumerate для получения индекса элемента в списке
- Использование фильтра для получения индекса элемента в списке
- Использование NumPy для получения индекса элемента в списке
- Использование more_itertools.locate() для получения индекса элемента в списке
Индекс списка 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]
Обзор:
- Метод list index() помогает найти индекс данного элемента. Это самый простой и понятный способ получить индекс.
- Метод list index() возвращает индекс данного элемента.
- Если элемента нет в списке, метод index() выдаст ошибку, например ValueError:«Элемент» отсутствует в списке.
- Помимо встроенного метода списка, вы также можете использовать другие способы получения индекса, такие как просмотр списка в цикле, использование спискового понимания, использование enumerate(), использование фильтра и т. д.
- Использование циклов for и while для получения нескольких индексов заданного элемента.
- Чтобы получить все индексы, можно быстро и просто использовать списковое понимание списка.
- Списковые включения — это функции Python, которые используются для создания новых последовательностей.
- Они помогают сократить число циклов, а также упрощают чтение и обслуживание кода.
- Вы можете использовать перечисление, чтобы получить все индексы элемента в списке.
- Функция Enumerate() — это встроенная функция, доступная в Python. Он принимает входные данные как итерируемый объект (т. е. объект, который можно зациклить), а на выходе представляет собой объект со счетчиком для каждого элемента.
- Метод filter() фильтрует заданный список на основе заданной функции.
- Библиотека Numpy специально используется для массивов. Вы можете использовать NumPy, чтобы получить индекс элемента, указанного в списке.
- more_itertools.locate() — это еще одна библиотека Python, которая помогает найти индексы в заданном списке.
Python
- std::list в C++ с примером
- Функция Python String strip() с ПРИМЕРОМ
- Количество строк Python() с ПРИМЕРАМИ
- Функция Python round() с ПРИМЕРАМИ
- Функция Python map() с ПРИМЕРАМИ
- Python Timeit() с примерами
- Счетчик Python в коллекциях с примером
- Счетчик списка Python() с ПРИМЕРАМИ
- Python удалить дубликаты из списка
- Удалить элемент из СПИСКА Python [clear, pop, remove, del]