Python, Kwa kutumia enumerate() kazi: Kupata vitu na fahirisi za orodha

Biashara

Kwa kutumia kitendakazi cha Python’s enumerate() , unaweza kupata nambari ya faharisi (hesabu, mpangilio) na vile vile vitu vya kitu kinachoweza kutekelezeka kama vile orodha au tuple in a for loop.

Nakala hii inaelezea misingi ya kazi ya enumerate().

  • Kazi ya kupata faharasa kwa kitanzi:enumerate()
    • Kawaida kwa kitanzi
    • Kwa kitanzi kwa kutumia enumerate() kazi
  • Anzisha faharisi ya kazi ya enumerate() kwa 1 (thamani isiyo ya sifuri)
  • Bainisha ongezeko (hatua)

Kazi ya enumerate() inaweza kutumika kupata faharisi katika kitanzi.

Kawaida kwa kitanzi

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

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

Kwa kitanzi kwa kutumia enumerate() kazi

Bainisha kitu kinachoweza kutekelezeka kama vile orodha kama hoja ya kitendakazi cha enumerate().

Unaweza kupata nambari ya faharisi na kipengee kwa mpangilio huo.

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

Anzisha faharisi ya kazi ya enumerate() kwa 1 (thamani isiyo ya sifuri)

Kama inavyoonyeshwa kwenye mfano hapo juu, kwa chaguo-msingi, faharisi ya kazi ya enumerate() huanza kutoka 0.

Ikiwa ungependa kuanza na nambari nyingine zaidi ya 0, taja nambari ya kuanzia kiholela kama hoja ya pili ya kitendakazi cha enumerate().

Ili kuanza kutoka mwanzo, fanya zifuatazo.

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

Kwa kweli, unaweza kuanza na nambari zingine.

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

Inatumika unapotaka kuunda mfuatano wenye nambari; ni vyema kutaja nambari ya kuanzia kama hoja ya pili ya kitendakazi cha enumerate() kuliko kutumia ‘i+1’ kuanza kutoka 1.

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

Tazama kifungu kifuatacho kwa habari zaidi juu ya kazi ya umbizo, ambayo hutumiwa kujaza nambari na sifuri.

Bainisha ongezeko (hatua)

Hakuna hoja ya kutaja hatua ya nyongeza katika kazi ya enumerate(), lakini inaweza kupatikana kwa kufanya yafuatayo.

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