Bi karanîna fonksiyona enumerate() ya Python, hûn dikarin jimareya îndeksê (hejmar, rêzik) û her weha hêmanên nesneyek dubarekirî wekî lîsteyek an pirtikê di çerxa for de bistînin.
Ev gotar bingehên fonksiyona enumerate() rave dike.
- Fonksiyon ji bo bidestxistina îndeksê di hêleka for de:
enumerate()
- Normal ji bo loop
- Ji bo loopê fonksiyona enumerate() bikar tîne
- Indeksa fonksiyona enumerate() li 1-ê dest pê bike (nirxek ne sifir)
- Zêdebûnê (gavekê) diyar bike
Fonksîyona enumerate() dikare were bikar anîn da ku îndeksê di hêleka for de bigire.
Normal ji bo loop
l = ['Alice', 'Bob', 'Charlie']
for name in l:
print(name)
# Alice
# Bob
# Charlie
Ji bo loopê fonksiyona enumerate() bikar tîne
Tiştek dubarekirî wekî navnîşek wekî argumana fonksiyona enumerate() diyar bikin.
Hûn dikarin di wê rêzê de jimareya pêvekê û hêmanê bistînin.
for i, name in enumerate(l):
print(i, name)
# 0 Alice
# 1 Bob
# 2 Charlie
Indeksa fonksiyona enumerate() li 1-ê dest pê bike (nirxek ne sifir)
Wekî ku di mînaka li jor de tê xuyang kirin, ji hêla xwerû ve, navnîşa fonksiyona enumerate() ji 0-ê dest pê dike.
Heke hûn dixwazin bi jimareyek ji bilî 0-ê dest pê bikin, wekî argumana duyemîn a fonksiyona enumerate() jimareyek destpêkek keyfî diyar bikin.
Ji bo ku ji sifirê dest pê bikin, jêrîn bikin.
for i, name in enumerate(l, 1):
print(i, name)
# 1 Alice
# 2 Bob
# 3 Charlie
Bê guman, hûn dikarin bi hejmarên din dest pê bikin.
for i, name in enumerate(l, 42):
print(i, name)
# 42 Alice
# 43 Bob
# 44 Charlie
Dema ku hûn dixwazin rêzek bi jimareya rêzkirî biafirînin kêrhatî ye; Aqilmendtir e ku meriv jimareya destpêkê wekî argumana duyemîn a fonksiyona enumerate() diyar bike ji karanîna ‘i+1’ ji 1-ê dest pê bike.
for i, name in enumerate(l, 1):
print('{:03}_{}'.format(i, name))
# 001_Alice
# 002_Bob
# 003_Charlie
Ji bo bêtir agahdarî li ser fonksiyona formatê, ku ji bo dagirtina hejmaran bi sifiran tê bikar anîn, li gotara jêrîn binêre.
- Gotarên Têkildar:Derxistina sifirên dagirtî, hejmarên hexadecimal, hwd. bi fonksiyona forma Python()
Zêdebûnê (gavekê) diyar bike
Argumanek tune ku di fonksiyona enumerate() de gavê zêde bike, lê bi kirina jêrîn dikare were bidestxistin.
step = 3
for i, name in enumerate(l):
print(i * step, name)
# 0 Alice
# 3 Bob
# 6 Charlie