Функция Enumerate() в Python: основное пошаговое руководство
Опубликовано: 2021-06-24Python — один из самых популярных языков среди специалистов по данным. Язык интуитивно понятен, и в 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. Вы получаете поддержку один на один от отраслевых экспертов, сильную группу студентов и всестороннюю поддержку карьеры.
Свяжитесь с нами сегодня и продвиньтесь по карьерной лестнице!