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.
- Nakala Zinazohusiana:Kutoa sufuri zilizojazwa ndani, nambari za heksadesimali, n.k. kwa umbizo la Python()
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