Функция Enumerate() в Python: основное пошаговое руководство

Опубликовано: 2021-06-24

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

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

Язык программирования Python имеет несколько функций, которые помогут вам просматривать различные наборы данных и манипулировать контейнерами данных в соответствии с вашими требованиями. Одной из таких возможностей является метод enumerate(). Это одна из наиболее важных функций в Python, особенно для работы с объемными наборами данных. Кроме того, эта функция намного более оптимизирована, чем другие функции Python, выполняющие аналогичную задачу, — она обеспечивает эффективность и чистоту вашего кода.

Функция добавляет счетчик к любому итерируемому объекту. Затем с помощью счетчика можно отслеживать количество выполненных итераций. Значение этого счетчика хранится отдельно. Используя этот метод, вы можете перебирать список, словарь, кортеж или набор элементов, отслеживая при этом индекс всех элементов.

В этой статье мы подробнее рассмотрим функцию enumerate()!

Синтаксис и применение метода enumerate()

Функция enumerate() создает отдельную переменную-счетчик, которая отслеживает количество итераций в цикле. Это встроенная функция Python, поэтому вам не нужно импортировать какие-либо библиотеки для доступа к ней.

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

Вот синтаксис метода enumerate():

перечислить (итерируемый, startIndex)

Он имеет два параметра:

  • Итерируемый: любой объект, который можно зациклить.
  • startIndex: Это необязательно. Если вы укажете здесь какое-либо значение, отсчет начнется с указанного вами значения и будет увеличиваться до конца цикла. По умолчанию значение startIndex равно 0.

Давайте разберемся с работой метода enumerate() на нескольких примерах!

Вот небольшой фрагмент кода. У нас есть массив с именем food_items, и в цикле for мы вызвали метод enumerate() с итерируемым объектом food_items (это будет массив, по которому будет проходить эта функция). Затем мы пытаемся распечатать индекс и имя — это два элемента, возвращаемые функцией enumerate().

food_items = ["Пицца", "Бургер", "Салат", "Лазанья", "Спагетти"]

для индекса, имя в перечислении (food_items):

печать (индекс, имя)

Функция enumerate() перебирает наш элемент массива еды и возвращает индекс и имя. Индекс — это количество выполненных итераций, а имя — это конкретный элемент в списке. Вот что выдает программа:

0 Пицца

1 бургер

2 Салат

3 Лазанья

4 спагетти

Как видите, результат такой, как вы и ожидали — вы получаете объект с индексами и именами для различных элементов в вашем списке food_items. Использование функции enumerate() вместо len() или range() делает наш код очень чистым и читабельным!

Работа с перечисляемым объектом

По умолчанию enumerate() возвращает список кортежей. Мы можем увидеть это, распечатав значение item при переборе массива food_items:

для элемента в перечислении (food_items):

печать (элемент)

Этот код возвращает значение индекса и продукт питания по этому индексу в структуре данных кортежа.

(0, "Пицца")

(1, «Бургер»)

(2, «Салат»)

(3, «Лазанья»)

(4, «Спагетти»)

Если вы обратили внимание с самого начала этой статьи, то помните, что метод enumerate() принимает два параметра — iterable и startIndex. По умолчанию наш метод до сих пор говорил — как startIndex. Давайте попробуем изменить это и посмотрим, что из этого получится!

food_items = ["Пицца", "Бургер", "Салат", "Лазанья", "Спагетти"]

для индекса, имя в перечислении (food_items, 10):

печать (индекс, имя)

Наша программа возвращает следующее

10 Пицца

11 Бургер

12 Салат

13 Лазанья

14 спагетти

Это полезно для случаев, когда вы хотите начать свой список с числа, отличного от 0.

Мы также можем создавать кортежи с элементом списка и индексом, используя метод enumerate(). Вот пример:

food_items = ["Пицца", "Бургер", "Салат", "Лазанья", "Спагетти"]

food_items_with_counter = список (перечисление (food_items, 1))

печать (food_items_list_with_counter)

Код вернет список кортежей с продуктами и значением индекса из метода enumerate(). Проверьте это:

[(1, 'Пицца'), (2, 'Бургер'), (3, 'Салат'), (4, 'Лазанья'), (5, 'Спагетти')]

Заключение

Функция enumerate() в Python — надежная и оптимизированная функция. Это полезно, если вы хотите выполнить итерацию по массиву значений и манипулировать данными в разных местах массива.

Теперь, когда вы знаете основы enumerate(), продолжайте практиковаться — создайте пару массивов и попробуйте запустить функцию enumerate() с разными входными данными. В конце концов, программирование — это практика. Важно добавить: программирование (и наука о данных, в частности) также связано с знанием правильных вещей, а не просто откровенной практикой. Вам нужно найти сочетание двух — знаний и практики.

Если вы новичок в этой области и ищете помощи – upGrad прикроет вашу спину! Наш магистр наук в области машинного обучения и искусственного интеллекта работает в сотрудничестве с IIIT-Bangalore и LJMU. Вы получаете поддержку один на один от отраслевых экспертов, сильную группу студентов и всестороннюю поддержку карьеры.

Свяжитесь с нами сегодня и продвиньтесь по карьерной лестнице!

Возглавьте технологическую революцию, управляемую искусственным интеллектом

МАСТЕРА В ОБЛАСТИ МАШИННОГО ОБУЧЕНИЯ И ИСКУССТВЕННОГО ИНТЕЛЛЕКТА
Применить сейчас