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

⚡ Умно обобщение

Python enumerate() добавя автоматичен брояч към всички итерируеми, връщащи двойки индекс-стойност, докато изпълнявате цикъл. Тук ще научите синтаксиса му, опционалния начален индекс и как работи със списъци, кортежи, низове и речници.

  • 🔢 Какво го прави: Добавя брояч към всеки елемент от итерируем елемент, връщайки двойки индекс-стойност.
  • Синтаксис: enumerate(iterable, startIndex) приема итерабилен обект плюс опционален начален номер.
  • 🔟 Персонализиран старт: startIndex задава откъде започва броенето; пропуснете го, за да започнете от 0.
  • 🔁 клозетping: Сдвоете го с for-loop, за да прочетете индекса и стойността заедно.
  • 📦 Всеки итерабилен елемент: Работи със списъци, кортежи, низове и речници.
  • 🤖 Помощ с изкуствен интелект: Инструментите на Copilot и AI използват цикли за автоматично довършване на enumerate() и рефакторират ръчни броячи.

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

Какво е Python Изброявам?

Python Изброй() е вградена функция, налична с Python библиотека. Той приема дадения вход като колекция или кортежи и го връща като обект за изброяване. The Python Командата Enumerate() добавя брояч към всеки елемент от итерируемия обект и връща обект за изброяване като изходен низ.

Синтаксис на Python изброявам()

enumerate(iterable, startIndex)

параметри

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

  • Итерабелен: обект, който може да бъде зациклен.
  • Начален индекс: (по избор) Броят ще започне със стойността, дадена в startIndex за първия елемент в цикъла и ще го увеличава за следващия елемент, докато достигне края на цикъла.

Въпреки това, ако startIndex не е зададен, броенето ще започне от 0.

Върната стойност

Той ще върне итерируем обект с countvalue за всеки от елементите на итераторния обект, даден като вход.

Enumerate() в Python Пример

Методът Enumerate идва с автоматичен брояч/индекс към всеки от елементите, присъстващи в списъка Enumerate в Python. Стойността на firstindex ще започне от 0. Можете също да посочите startindex, като използвате незадължителния параметър startIndex в enumerate.
Пример
В кода по-долу mylist е списъкът, даден на функцията Enumerate в Python, Най- функция list(). се използва за показване на Enumerate Python изход.

Забележка: Не се използва startIndex, следователно индексът за първия елемент ще започне от 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')]

UsingEnumerate() в списък с startIndex

В примера по-долу началният индекс, даден като 2. Индексът на първия елемент ще започне от дадения начален индекс.

Пример:

В примера по-долу mylist е списъкът, даден за изброяване. Функцията list() се използва за показване на резултата от изброяването.

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-loop, можете да използвате 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 заедно.

AI асистенти като GitHub Copilot автоматично довършват цикли на enumerate(), предлагат startIndex и рефакторират ръчни броячи, ускорявайки идиоматичните Python и откриване на грешки, които се различават една от друга.

Да. Линтери, задвижвани от изкуствен интелект, автоматизират този рефакторинг, забелязвайки шаблони range(len(x)) и пренаписвайки ги като enumerate(x) за по-чисти и по-лесни за изпълнение шаблони. Pythonic цикли с идентично поведение.

enumerate() връща обект enumerate, итератор на двойки (индекс, стойност). Можете да го зациклите директно или да го обгърнете в list(), за да видите всички двойки.

Обобщете тази публикация с: