S Pythonovo funkcijo enumerate() lahko v zanki for dobite številko indeksa (število, vrstni red) in elemente iterabilnega objekta, kot je seznam ali tuple.
Ta članek pojasnjuje osnove funkcije enumerate().
- Funkcija za pridobitev indeksa v zanki for:
enumerate()
- Običajna zanka for
- Za zanko s funkcijo enumerate()
- Začetek indeksa funkcije enumerate() pri 1 (neničelna vrednost).
- Določite prirastek (korak)
Funkcijo enumerate() lahko uporabite za pridobitev indeksa v zanki for.
Običajna zanka for
l = ['Alice', 'Bob', 'Charlie']
for name in l:
print(name)
# Alice
# Bob
# Charlie
Za zanko s funkcijo enumerate()
Kot argument funkcije enumerate() navedite objekt iterabilnega tipa, na primer seznam.
V tem vrstnem redu lahko dobite številko indeksa in element.
for i, name in enumerate(l):
print(i, name)
# 0 Alice
# 1 Bob
# 2 Charlie
Začetek indeksa funkcije enumerate() pri 1 (neničelna vrednost).
Kot je prikazano v zgornjem primeru, se indeks funkcije enumerate() privzeto začne z 0.
Če želite začeti s številom, ki ni 0, kot drugi argument funkcije enumerate() navedite poljubno začetno število.
Če želite začeti od začetka, naredite naslednje.
for i, name in enumerate(l, 1):
print(i, name)
# 1 Alice
# 2 Bob
# 3 Charlie
Seveda lahko začnete z drugimi številkami.
for i, name in enumerate(l, 42):
print(i, name)
# 42 Alice
# 43 Bob
# 44 Charlie
Uporabno, kadar želite ustvariti zaporedno oštevilčen niz; pametneje je določiti začetno številko kot drugi argument funkcije enumerate() kot uporabiti 'i+1' za začetek od 1.
for i, name in enumerate(l, 1):
print('{:03}_{}'.format(i, name))
# 001_Alice
# 002_Bob
# 003_Charlie
Več informacij o funkciji format, ki se uporablja za polnjenje števil z ničlami, najdete v naslednjem članku.
- Povezani članki:Izpisovanje izpolnjenih ničel, šestnajstiških števil itd. s Pythonovo funkcijo format()
Določite prirastek (korak)
V funkciji enumerate() ni argumenta za določitev inkrementalnega koraka, vendar ga lahko dosežete z naslednjim
step = 3
for i, name in enumerate(l):
print(i * step, name)
# 0 Alice
# 3 Bob
# 6 Charlie