Питхон, Коришћење функције енумерате(): Добијање елемената и индекса листе

Бусинесс

Користећи Питхон-ову енумерате() функцију, можете добити број индекса (број, редослед) као и елементе итерабле објекта као што је листа или тупле у фор петљи.

Овај чланак објашњава основе функције енумерате().

  • Функција за добијање индекса у фор петљи:enumerate()
    • Нормална фор петља
    • Петља за коришћењем функције енумерате().
  • Започните индекс функције енумерате() на 1 (вредност која није нула)
  • Одредите прираст (корак)

Функција енумерате() се може користити за добијање индекса у фор петљи.

Нормална фор петља

l = ['Alice', 'Bob', 'Charlie']

for name in l:
    print(name)
# Alice
# Bob
# Charlie

Петља за коришћењем функције енумерате().

Наведите објекат који се може понављати као што је листа као аргумент функције енумерате().

Можете добити индексни број и елемент тим редоследом.

for i, name in enumerate(l):
    print(i, name)
# 0 Alice
# 1 Bob
# 2 Charlie

Започните индекс функције енумерате() на 1 (вредност која није нула)

Као што је приказано у примеру изнад, индекс функције енумерате() подразумевано почиње од 0.

Ако желите да почнете са бројем који није 0, наведите произвољан почетни број као други аргумент функције енумерате().

Да бисте почели од нуле, урадите следеће.

for i, name in enumerate(l, 1):
    print(i, name)
# 1 Alice
# 2 Bob
# 3 Charlie

Наравно, можете почети са другим бројевима.

for i, name in enumerate(l, 42):
    print(i, name)
# 42 Alice
# 43 Bob
# 44 Charlie

Корисно када желите да креирате секвенцијално нумерисан стринг; паметније је навести почетни број као други аргумент функције енумерате() него користити ‘и+1’ за почетак од 1.

for i, name in enumerate(l, 1):
    print('{:03}_{}'.format(i, name))
# 001_Alice
# 002_Bob
# 003_Charlie

Погледајте следећи чланак за више информација о функцији формата, која се користи за попуњавање бројева нулама.

Одредите прираст (корак)

Не постоји аргумент за навођење инкременталног корака у функцији енумерате(), али се то може постићи следећим корацима

step = 3
for i, name in enumerate(l):
    print(i * step, name)
# 0 Alice
# 3 Bob
# 6 Charlie
Copied title and URL