Python Функція enumerate(): Цикл, кортеж та рядок

⚡ Розумний підсумок

Python enumerate() додає автоматичний лічильник до будь-яких ітерованих пар індекс-значення, що повертаються, під час циклу. Тут ви дізнаєтеся про його синтаксис, необов'язковий початковий індекс та про те, як він працює зі списками, кортежами, рядками та словниками.

  • 🔢 Що вона робить: Додає лічильник до кожного елемента ітерованого об'єкта, повертаючи пари індекс-значення.
  • Синтаксис: enumerate(iterable, startIndex) приймає ітерований об'єкт плюс необов'язковий початковий номер.
  • 🔟 Власний початок: startIndex встановлює, звідки починається підрахунок; пропустіть його, щоб почати з 0.
  • 🔁 вбиральняping: Поєднайте його з циклом for для одночасного зчитування індексу та значення.
  • 📦 Будь-який ітерований елемент: Працює зі списками, кортежами, рядками та словниками.
  • 🤖 Допомога ШІ: Інструменти Copilot та штучного інтелекту автоматично доповнюють цикли enumerate() та рефакторують ручні лічильники.

Функція Enumerate() в Python

Що таке Python Перелічити?

Python Enumerate() є вбудованою функцією, доступною з Python бібліотека. Він приймає заданий вхід як колекцію або кортежі та повертає його як об’єкт перерахування. The Python Команда Enumerate() додає лічильник до кожного елемента ітерованого об’єкта та повертає об’єкт enumerate як вихідний рядок.

Синтаксис Python перерахувати ()

enumerate(iterable, startIndex)

Параметри

Три параметри:

  • Ітерабельний: об’єкт, який можна зациклювати.
  • StartIndex: (необов’язково) Підрахунок почнеться зі значення, указаного в startIndex для першого елемента в циклі, і збільшуватиметься для наступного елемента, доки він не досягне кінця циклу.

Однак, якщо startIndex не вказано, відлік почнеться з 0.

Повернене значення

Він поверне ітерований об’єкт із значенням count для кожного елемента об’єкта-ітератора, поданого як вхідні дані.

Enumerate() в Python Приклад

Метод Enumerate поставляється з автоматичним лічильником/індексом для кожного з елементів у списку Enumerate Python. Значення першого індексу починатиметься з 0. Ви також можете вказати початковий індекс за допомогою додаткового параметра startIndex у enumerate.
Приклад
У наведеному нижче коді mylist — це список, наданий функції Enumerate Python, функція list(). використовується для відображення Enumerate Python вихід.

Примітка: Початковий індекс не використовується, тому індекс для першого елемента починатиметься з 0.

Результати enumerate будуть такими:

(0, item_1), (1, item_2), (2, item_3), … (n, item_n)

Файл: python_enumerate.py

mylist = ['A', 'B' ,'C', 'D']
e_list = enumerate(mylist)
print(list(e_list))

вихід:

[(0, 'A'), (1, 'B'), (2, 'C'), (3, 'D')]

ВикористанняEnumerate() у списку з startIndex

У наведеному нижче прикладі початковий індекс задано як 2. Індекс першого елемента починатиметься з заданого початкового індексу.

приклад:

У наведеному нижче прикладі mylist — це список, наданий для перерахування. Функція list() використовується для відображення результату enumerate.

mylist = ['A', 'B' ,'C', 'D']
e_list = enumerate(mylist,2)
print(list(e_list))

вихід:

[(2, 'A'), (3, 'B'), (4, 'C'), (5, 'D')]

вбиральняping Над об'єктом Enumerate

У прикладі показано перерахування об’єкта з і без startIndex.

  • Перший цикл for не має startIndex, тому індекс починається з 0.
  • Другий цикл for має startIndex як 10, тому індекс починається з 10.

приклад:

mylist = ['A', 'B' ,'C', 'D']

for i in enumerate(mylist):
  print(i)
  print("\n")

print("Using startIndex as 10")    

for i in enumerate(mylist, 10):
  print(i)
  print("\n")

вихід:

(0, 'A')
(1, 'B')
(2, 'C')
(3, 'D')

Using startIndex as 10
(10, 'A')
(11, 'B')
(12, 'C')
(13, 'D')

Перерахування кортежу

У прикладі нижче ви можете використовувати кортеж всередині переліку. Ви також можете використовувати startIndex, і ключ до кожного елемента починатиметься з startIndexgiven.

За замовчуванням startIndex дорівнює 0. Тому ви бачите ключ як 0 для елементів A та 1 для B тощо.

приклад:

my_tuple = ("A", "B", "C", "D", "E")
for i in enumerate(my_tuple):
  print(i)

вихід:

(0, 'A')
(1, 'B')
(2, 'C')
(3, 'D')
(4, 'E')

Перерахування рядка

In Python, рядок є масивом, і, отже, ви можете перебирати його. Якщо ви передаєте рядок у enumerate(), виведення покаже вам індекс і значення для кожного символу рядка.

приклад:

my_str = "Guru99 "
for i in enumerate(my_str):
  print(i)

вихід:

(0, 'G')
(1, 'u')
(2, 'r')
(3, 'u')
(4, '9')
(5, '9')

Перелічіть словник

In Python, словник указано у фігурних дужках, усередині цих фігурних дужок оголошено значення.

Кожен елемент є парою ключ/значення і розділений комами. Ви можете використати словник всередині enumerate() і побачити результат.

my_dict = {"a": "PHP", "b":"JAVA", "c":"PYTHON", "d":"NODEJS"}
for i in enumerate(my_dict):
  print(i)

вихід:

(0, 'a')
(1, 'b')
(2, 'c')
(3, 'd')

Переваги використання Enumerate

Ось плюси/переваги використання Enumerate в Python:

  • Enumerate дозволяє прокручувати список, кортеж, словник, рядок і надає значення разом з індексом.
  • Щоб отримати значення індексу за допомогою циклу for, ви можете скористатися list.index(n). Однак list.index(n) дуже дорогий, оскільки він двічі проходитиме цикл for. Enumerate дуже корисний у такому випадку, оскільки він надає індекс і елементи одночасно.

Поширені запитання

enumerate() — це вбудована функція, яка додає лічильник до ітерованого об'єкта, такого як список, кортеж, рядок або словник, повертаючи пари індекс-значення.

Синтаксис такий: enumerate(iterable, startIndex). Ітерабельний об'єкт — це будь-який об'єкт, що може використовуватися в циклі; startIndex — це необов'язковий початковий номер. Без нього відлік починається з 0.

Передайте другий аргумент, наприклад, enumerate(mylist, 2). Підрахунок починається з цього значення, а не з 0, тому перший елемент отримує індекс 2.

Так. Передача словника перебирає його ключі, поєднуючи кожен з індексом. Перерахуйте елементи словника (items(), коли вам також потрібні значення.

enumerate() є чистішим та швидшим, ніж ручне індексування або list.index(n), які сканують двічі, повертаючи index та item разом.

Помічники штучного інтелекту, такі як GitHub Copilot, автозаповнення циклів enumerate(), пропонування startIndex та рефакторинг ручних лічильників, пришвидшуючи ідіоматику Python та виправлення помилок, що відхиляються на одиницю.

Так. Лінтери на базі штучного інтелекту автоматизують цей рефакторинг, виявляючи шаблони range(len(x)) та переписуючи їх як enumerate(x) для чистішого та більш чіткого рефакторингу. Pythonic-цикли з ідентичною поведінкою.

enumerate() повертає об'єкт enumerate, ітератор пар (індекс, значення). Зациклюйте його безпосередньо або оберніть у list(), щоб побачити всі пари.

Підсумуйте цей пост за допомогою: