Python, Bi kar anîna fonksiyona enumerate(): Danîna hêman û nîşaneyên lîsteyê

Dikan

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.

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
Copied title and URL