Koristeći Pythonovu enumerate() funkciju, možete dobiti indeksni broj (broj, redoslijed) kao i elemente iterable objekta kao što je popis ili tuple u for petlji.
Ovaj članak objašnjava osnove funkcije enumerate().
- Funkcija za dobivanje indeksa u for petlji:
enumerate()
- Normalna for petlja
- Petlja za korištenjem funkcije enumerate().
- Pokreni indeks funkcije enumerate() na 1 (vrijednost koja nije nula)
- Odredite prirast (korak)
Funkcija enumerate() može se koristiti za dobivanje indeksa u for petlji.
Normalna for petlja
l = ['Alice', 'Bob', 'Charlie']
for name in l:
print(name)
# Alice
# Bob
# Charlie
Petlja za korištenjem funkcije enumerate().
Navedite iterativni objekt kao što je popis kao argument funkcije enumerate().
Tim redoslijedom možete dobiti indeksni broj i element.
for i, name in enumerate(l):
print(i, name)
# 0 Alice
# 1 Bob
# 2 Charlie
Pokreni indeks funkcije enumerate() na 1 (vrijednost koja nije nula)
Kao što je prikazano u gornjem primjeru, prema zadanim postavkama, indeks funkcije enumerate() počinje od 0.
Ako želite započeti s brojem koji nije 0, navedite proizvoljan početni broj kao drugi argument funkcije enumerate().
Za početak od nule, učinite sljedeće.
for i, name in enumerate(l, 1):
print(i, name)
# 1 Alice
# 2 Bob
# 3 Charlie
Naravno, možete početi s drugim brojevima.
for i, name in enumerate(l, 42):
print(i, name)
# 42 Alice
# 43 Bob
# 44 Charlie
Korisno kada želite stvoriti sekvencijalno numerirani niz; pametnije je odrediti početni broj kao drugi argument funkcije enumerate() nego koristiti ‘i+1’ za početak od 1.
for i, name in enumerate(l, 1):
print('{:03}_{}'.format(i, name))
# 001_Alice
# 002_Bob
# 003_Charlie
Pogledajte sljedeći članak za više informacija o funkciji formata, koja se koristi za popunjavanje brojeva nulama.
- Povezani članci:Izlaz ispunjenih nula, heksadecimalnih brojeva, itd. s Pythonovom funkcijom format()
Odredite prirast (korak)
Ne postoji argument za određivanje inkrementalnog koraka u funkciji enumerate(), ali se može postići slijedećim
step = 3
for i, name in enumerate(l):
print(i * step, name)
# 0 Alice
# 3 Bob
# 6 Charlie