Рубрики
Без рубрики

Доступ к индексу по величинам в Python

Резюме: Чтобы получить доступ к индексу подобных подобных списков в Python, используйте один из следующих методов: используйте функцию перечисления (). Используйте переменную счетчика для петли для петли / во время цикла. Используйте понимание списка. Используйте Numpy Library. Используйте модуль ITERTOOLS. https://youtu.be/ckchwqzxwc Введение Индекс можно рассматривать как положение элемента в упорядоченном хранилище данных (например, … Доступ к индексу метеров в Python Подробнее »

Автор оригинала: 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 Модуль, чтобы найти индекс данного элемента.

  1. count () это встроенная функция Itertools Модуль, который используется для создания итератора и производит последовательные целые числа на основе заданных значений атрибута старта и шага.
  2. 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 решает, наша проблема делает его хорошим вариантом.

Заключение

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

  1. Использование функции перечисления ().
  2. Использование переменной счетчиков с циклом для цикла/во время.
  3. Использование понимания списка.
  4. Использование Itertools модуль.
  5. Используя Numpy библиотека.

Я надеюсь, что после прочтения этой статьи вы можете найти индексы предметов в списках или массивах без каких-либо хлопот. Пожалуйста, подпишитесь и оставайся настроенными для более интересных статей.

Куда пойти отсюда?

Достаточно теории, давайте познакомимся!

Чтобы стать успешным в кодировке, вам нужно выйти туда и решать реальные проблемы для реальных людей. Вот как вы можете легко стать шестифункциональным тренером. И вот как вы польские навыки, которые вам действительно нужны на практике. В конце концов, что такое использование теории обучения, что никто никогда не нуждается?

Практические проекты – это то, как вы обостряете вашу пилу в кодировке!

Вы хотите стать мастером кода, сосредоточившись на практических кодовых проектах, которые фактически зарабатывают вам деньги и решают проблемы для людей?

Затем станьте питоном независимым разработчиком! Это лучший способ приближения к задаче улучшения ваших навыков Python – даже если вы являетесь полным новичком.

Присоединяйтесь к моему бесплатным вебинаре «Как создать свой навык высокого дохода Python» и посмотреть, как я вырос на моем кодированном бизнесе в Интернете и как вы можете, слишком от комфорта вашего собственного дома.

Присоединяйтесь к свободному вебинару сейчас!

Я профессиональный Python Blogger и Content Creator. Я опубликовал многочисленные статьи и создал курсы в течение определенного периода времени. В настоящее время я работаю полный рабочий день, и у меня есть опыт в областях, таких как Python, AWS, DevOps и Networking.

Вы можете связаться со мной @:

Оригинал: “https://blog.finxter.com/accessing-the-index-of-iterables-in-python/”