Автор оригинала: Shubham Sayon.
Вступление
Списки Встроенные данные типа Python, используемые для хранения элементов в заказал последовательность. Вы обязательно будете использовать списки в большинстве ваших проектов, если вы программируете в Python. Так что возьмите свое время и вложите хороший час или так тщательно изучить это руководство.
📖 Примечание: В Python элементы списка начинаются в Индекс 0 (Первый элемент проиндексирован 0), и мы можем продолжать добавлять больше предметов.
Проблема разработки: Учитывая список. Как вы найдете индекс элемента списка?
Пример: В следующем списке состоит из названий книг в качестве его элементов. Вы должны найти индекс элемента/книги – « Богатый папа Бедный папа ».
# A list of books
lst = ["Book Thief", "Harry Potter and the Philosopher's Stone", "Rich Dad Poor Dad", "The Great Gatsby"]
print("Available books:")
print(lst)
# Accessing Index of the List Element
x = lst.index('Rich Dad Poor Dad')
print("Book index- ", x)Выход:
Available books: ['Book Thief', "Harry Potter and the Philosopher's Stone", 'Rich Dad Poor Dad', 'The Great Gatsby'] Book index- 2
Теперь, когда у вас есть идея темы, давайте погрузимся в критический вопрос о критическом вопросе и изучаем методы поиска индекса элемента списка.
✏️method 1: используя метод index ()
Самый простой способ получить индекс элемента списка – использовать Индекс () метод. Чтобы использовать метод index (), вам просто нужно пройти элемент как аргумент.
Определение и использование: list.index (значение) Метод возвращает индекс ценность Аргумент в Список Отказ Вы можете использовать дополнительные Начать и Стоп Аргументы для ограничения диапазона индекса, где искать значение в списке. Если значение не в списке, метод бросает ValueError Отказ
Синтаксис:
lst.index (элемент)
Решение:
# A list of books
lst = ["Book Thief", "Harry Potter and the Philosopher's Stone", "Rich Dad Poor Dad", "The Great Gatsby"]
print("Available books:")
print(lst)
# Accessing Index of the List Element
x = lst.index('Rich Dad Poor Dad')
print("Book index- ", x)Выход:
Available books: ['Book Thief', "Harry Potter and the Philosopher's Stone", 'Rich Dad Poor Dad', 'The Great Gatsby'] Book index- 2
💣find Индекс, когда список имеет дублирующие элементы
Метод Index () используется для поиска первого наименьшего индекса элемента, то есть в случае дублированных элементов, он вернет индекс первого элемента, как показано в примере, приведенном ниже.
Пример:
# A list of fruits
lst = ["Apple", "Mango", "Banana", "Mango", "Cherry"]
print("Fruits:")
print(lst)
# Accessing Index of the List Element
x = lst.index('Mango') # Duplicate element
print("Index of Mango: ", x)Выход:
Fruits: ['Apple', 'Mango', 'Banana', 'Mango', 'Cherry'] Index of Mango: 1
Indexfinding индекс в пределах диапазона
В предыдущем примере вы видели, как Индекс () Способ работает с дублирующими элементами в списке. Что, если вы хотите найти индекс дубликата элемента из определенного диапазона в списке?
Метод Index () также позволяет определять начальные и конечные позиции для списка. Он будет искать только индекс в диапазоне от начала до конца. Это помогает, когда у вас есть дубликаты элементов, и вы не хотите возвращать элемент в начале списка.
Синтаксис:
lst.index (элемент [Пуск [End]]))
Пример :
# A list of fruits
lst = ["Apple", "Mango", "Banana", "Mango", "Cherry"]
print("Fruits:")
print(lst)
# Defining start end for the Element
ele = "Mango"
start = 2
end = 4
# Accessing Index of the List Element
x = lst.index(ele, start, end)
print("Index of Mango: ", x)Выход:
Fruits: ['Apple', 'Mango', 'Banana', 'Mango', 'Cherry'] Index of Mango: 3
Объяснение: Как мы уже указали начало и конец списка, рассматриваются только индексы в диапазоне индекса [2-4] списка. Следовательно, мы получаем индекс второго дубликата элемента.
💥 Что происходит, когда вы пытаетесь найти индекс элемента, который отсутствует в данном списке?
Когда мы используем метод индекса () на элементе, который отсутствует в списке, мы получаем ValueError Отказ
Пример:
# A list of fruits
lst = ["Apple", "Mango", "Banana", "Mango", "Cherry"]
print("Fruits:")
print(lst)
# Accessing Index of the List Element
x = lst.index('Pear') # Element not in the list
print("Index- ", x)Выход:
Fruits: ['Apple', 'Mango', 'Banana', 'Mango', 'Cherry'] Traceback (most recent call last): File "E:\program\main.py", line 7, inx = lst.index('Pear') # Element not in the list ValueError: 'Pear' is not in list
Теперь, что, если вы хотите найти индекс всех дубликатов элементов в списке? Это приводит нас к следующему решению, которое поможет нам преодолеть наши проблемы с дублирующими элементами.
✏️method 2: Использование контура для цикла
Еще один эффективный способ найти индекс элемента списка – использовать простой для цикла. Для цикла вместе с Диапазон () Функция и Лен () Функция позволяет использовать элементы списка и отслеживать их индексы. Этот подход также помогает вернуть индекс всех дубликатов элементов в списке, который невозможно использовать Индекс () метод.
Пример:
# A list of fruits
lst = ["Apple", "Mango", "Banana", "Mango", "Cherry", "Pear", "Mango"]
print("Fruits:")
print(lst)
# Empty list to store the index in case of duplicate elements
indexes = []
# Accessing Index of the List Element using for loop
for i in range(0, len(lst)):
if lst[i] == 'Mango':
indexes.append(i)
print("Indexes of element Mango: ", indexes)Выход :
Fruits: ['Apple', 'Mango', 'Banana', 'Mango', 'Cherry', 'Pear', 'Mango'] Index for Mango: [1, 3, 6]
✏️method 3: Использование перечисления
В Python перечисление () – это встроенная функция, которая подсчитывает элементы в прилагаемой последовательности. Функция принимает счетчик в качестве ввода и возвращает объект с счетчиком каждого элемента.
Давайте посмотрим на следующий пример, чтобы понять, как мы можем использовать метод перечисления и найти индекс элемента в списке в Python.
# A list of fruits
lst = ["Apple", "Mango", "Banana", "Mango", "Cherry", "Pear", "Mango"]
print("Fruits:")
print(lst)
# Empty list to store the index in case of duplicate elements
indexes = []
# Accessing Index of the List Element using enumerate()
for c, ele in enumerate(lst): # c is the count of elements
if ele == 'Mango':
indexes.append(c)
print("Index for Mango: ", indexes)Выход:
Fruits: ['Apple', 'Mango', 'Banana', 'Mango', 'Cherry', 'Pear', 'Mango'] Index for Mango: [1, 3, 6]
Рекомендуемое учебное пособие : Python перечисление () – простое иллюстрированное руководство
✏️method 4: Использование Numpy Library
Numpy – это библиотека, используемая для массивов в Python. Это аббревиатура для численного питона. Мы можем использовать эту библиотеку, чтобы найти индекс элемента списка. Для того, чтобы использовать эту библиотеку, мы должны сначала установить его.
| PIP Установить Numpy |
После установки библиотеки импортируют его в свой код.
| Импорт numpy как np |
Теперь вы можете использовать этот модуль, чтобы найти индекс элемента списка.
Пример:
# Importing numpy library
import numpy as np
# A list of fruits
lst = ["Apple", "Mango", "Banana", "Mango", "Cherry", "Pear", "Mango"]
print("Fruits:")
arr = np.array(lst)
print(arr)
# Accessing Index of the List Element using numpy
indexes = np.where(arr == 'Mango')[0]
print("Index for Mango: ", indexes)Выход:
Fruits: ['Apple' 'Mango' 'Banana' 'Mango' 'Cherry' 'Pear' 'Mango'] Index for Mango: [1 3 6]
Заключение
Поэтому вы узнали о различных методах найти индекс элемента списка в Python. Чтобы продолжать обучение, пожалуйста, Подписаться к Наш канал и Учебники блогов и оставаться настроенными для более интересных учебников.
✍ Почтовые кредиты: Шубхам Сайон и Раши Агарваль
- Вы хотите быстро освоить самые популярные Python IDE?
- Этот курс приведет вас от новичка к эксперту в Пычарме в ~ 90 минут.
- Для любого разработчика программного обеспечения имеет решающее значение для освоения IDE хорошо, писать, тестировать и отлаживать высококачественный код с небольшим усилием.
Присоединяйтесь к Pycharm MasterClass Сейчас и мастер Pycharm на завтра!
Я профессиональный Python Blogger и Content Creator. Я опубликовал многочисленные статьи и создал курсы в течение определенного периода времени. В настоящее время я работаю полный рабочий день, и у меня есть опыт в областях, таких как Python, AWS, DevOps и Networking.
Вы можете связаться со мной @: