Автор оригинала: Shubham Sayon.
Резюме: Чтобы получить доступ к индексу по тем, как Списки В Python используйте один из следующих способов:
- Использовать
перечислять ()
функция. - Используйте переменную счетчика с Для петли/пока цикла.
- Используйте Список понимания.
- Используйте Numpy Library Отказ
- Используйте
Itertools
модуль.
Вступление
Индекс можно рассматривать как положение элемента в упорядоченном DataType (например, список или кортеж). Строка может рассматриваться как список символов с каждым символом, имеющим индекс.
- Индексирование начинается с нуля до длины – 1.
- Python также поддерживает негативную индексацию.
Давайте визуализируем индексацию с помощью диаграммы.
Из приведенного выше примера совершенно ясно, что:
- Длина строки 23, а индексация начинается с 0 и заканчивается на 22.
- Отрицательная индексация начинается с конца строки с -1 и заканчивается в начале строки (-23).
Теперь, когда у нас есть идея о показателях, давайте погрузимся в нашу миссию – критический вопрос:
Проблема: Дать список; Как получить доступ к индексу каждого элемента списка с использованием петли или любого другого метода?
Пример 1: Рассмотрим приведенную ниже программу, которая содержит список чисел. Мы хотим извлечь каждый номер вместе с его индексом, как показано ниже:
items = [100, 200, 300, 400, 500] for i in items: print('item #{} = {}'.format(???, i))
Желаемый вывод
item #0 = 100 item #1 = 200 item #2 = 300 item #3 = 400 item #4 = 500
Теперь давайте посмотрим на разные способы сделать это:
Способ 1: Использование перечисления () функция
Наиболее эффективным способом нахождения индекса элементов в списке является использование функции встроенного Python, известная как перечислять ()
Отказ Этот метод принимает счетчик (например, список, кортеж) добавляет счет к нему, а затем возвращает его в качестве объекта.
Перечислять (
Iterable ,
Начать )
: Синтаксис для перечислять ()
метод.
Примечание: Индексирование начинается в 0 в Python, поэтому вы должны определить номер начала в случае, если вы хотите использовать другой номер в качестве исходного индекса.
Давайте посмотрим на следующую программу, чтобы понять, как мы можем использовать этот метод, чтобы найти индексы элементов в списке:
items = [100, 200, 300, 400, 500] for index, item in enumerate(items, start=1): print('item #{0} = {1}'.format(index, item))
Выход:
item #1 = 100 item #2 = 200 item #3 = 300 item #4 = 400 item #5 = 500
Способ 2: Использование счетчика счетчика и контура
Вы можете создать контурную цикл, используя переменную для хранения индекса и доступа к элементам списка, используя эту переменную. Давайте посмотрим на следующую программу, чтобы понять, как это работает:
items = [100, 200, 300, 400, 500] for i in range(len(items)): print(f'item #{i + 1} = {items[i]}')
Выход:
item #1 = 100 item #2 = 200 item #3 = 300 item #4 = 400 item #5 = 500
Способ 3: Использование цикла в то время как и счетчик счетчиков
Как и для цикла, мы также можем использовать цикл While, чтобы создать переменную счетчика для удержания индексов элементов, а затем получить доступ к элементам списка с использованием этой переменной. Давайте посмотрим на следующую программу, чтобы понять, как это работает:
items = [100, 200, 300, 400, 500] i = 0 while i <= len(items): print(f'item #{i + 1} = {items[i]}') i += 1
Выход:
item #1 = 100 item #2 = 200 item #3 = 300 item #4 = 400 item #5 = 500
Способ 4: Использование понимания списка
Давайте посмотрим на Python One-Liner, чтобы решить нашу проблему, используя список списка:
items = [100, 200, 300, 400, 500] [print(f"item #{index + 1} = {items[index]}") for index, item in enumerate(items)]
Выход :
item #1 = 100 item #2 = 200 item #3 = 300 item #4 = 400 item #5 = 500
Метод 5: Использование модуля iTertools
Мы можем использовать count ()
и zip ()
Функции Itertools
Модуль, чтобы найти индекс данного элемента.
count ()
это встроенная функцияItertools
Модуль, который используется для создания итератора и производит последовательные целые числа на основе заданных значений атрибута старта и шага.zip ()
это еще одна встроенная функцияItertools
Модуль, который принимает счетчик как аргумент, который может быть список, кортеж, файл, словарь и т. Д. Он сочетает в себе элементы нескольких итераторов и хранят их в кортежи.
Теперь давайте посмотрим, как мы можем применить вышеуказанную концепцию в нашем решении:
from itertools import count items = [100, 200, 300, 400, 500] for i in zip(count(start=1, step=1), items): print(i)
Выход
(1, 100) (2, 200) (3, 300) (4, 400) (5, 500)
Метод 6: Использование Numpy Library
Другой подход к поиску индексов – использовать numpy
библиотека. Вам может быть интересно, почему вы должны использовать внешнюю библиотеку, чтобы найти индекс элемента в списке. Это даже имеет смысл? Да. Вы не найдете этот метод эффективен в случае простых сценариев, однако в ситуациях, когда вам нужно выполнить сложные операции с использованием индексов, numpy
является наиболее эффективным решением в таких сценариях. Numpy почти в 50 раз быстрее, чем традиционные списки, и поэтому он нуждается в почетном упоминании в списке наших предложенных решений.
Чтобы понять силу Numpy
Давайте рассмотрим другой пример, где вы должны найти индекс данного числа в коллекции. Пожалуйста, следуйте указанному ниже:
import numpy as np items = [500, 200, 500, 400, 500] value = 500 # numpy.where() function returns the indices of elements in an input array where the given condition is satisfied. index = np.where(np.array(items) == value)[0] print(f'item {value} is located at INDEX: {index}')
Выход:
item 500 is located at INDEX: [0 2 4]
Можно утверждать, что вышеуказанное решение может быть достигнуто через другие методы. Тем не менее, эффективность и простота, с которой Numpy решает, наша проблема делает его хорошим вариантом.
Заключение
Таким образом, в этой статье решения, описанные выше, включали следующие методы:
- Использование функции перечисления ().
- Использование переменной счетчиков с циклом для цикла/во время.
- Использование понимания списка.
- Использование
Itertools
модуль. - Используя
Numpy
библиотека.
Я надеюсь, что после прочтения этой статьи вы можете найти индексы предметов в списках или массивах без каких-либо хлопот. Пожалуйста, подпишитесь и оставайся настроенными для более интересных статей.
Куда пойти отсюда?
Достаточно теории, давайте познакомимся!
Чтобы стать успешным в кодировке, вам нужно выйти туда и решать реальные проблемы для реальных людей. Вот как вы можете легко стать шестифункциональным тренером. И вот как вы польские навыки, которые вам действительно нужны на практике. В конце концов, что такое использование теории обучения, что никто никогда не нуждается?
Практические проекты – это то, как вы обостряете вашу пилу в кодировке!
Вы хотите стать мастером кода, сосредоточившись на практических кодовых проектах, которые фактически зарабатывают вам деньги и решают проблемы для людей?
Затем станьте питоном независимым разработчиком! Это лучший способ приближения к задаче улучшения ваших навыков Python – даже если вы являетесь полным новичком.
Присоединяйтесь к моему бесплатным вебинаре «Как создать свой навык высокого дохода Python» и посмотреть, как я вырос на моем кодированном бизнесе в Интернете и как вы можете, слишком от комфорта вашего собственного дома.
Присоединяйтесь к свободному вебинару сейчас!
Я профессиональный Python Blogger и Content Creator. Я опубликовал многочисленные статьи и создал курсы в течение определенного периода времени. В настоящее время я работаю полный рабочий день, и у меня есть опыт в областях, таких как Python, AWS, DevOps и Networking.
Вы можете связаться со мной @:
Оригинал: “https://blog.finxter.com/accessing-the-index-of-iterables-in-python/”