Выкарыстоўваючы функцыю enumerate() у Python, вы можаце атрымаць нумар індэксу (колькасць, парадак), а таксама элементы ітэрацыйнага аб’екта, напрыклад спіс або картэж у цыкле for.
У гэтым артыкуле тлумачацца асновы функцыі enumerate().
- Функцыя атрымання індэкса ў цыкле for:
enumerate()
- Нармальны цыкл для
- Цыкл для выкарыстання функцыі enumerate().
- Пачніце індэкс функцыі enumerate() з 1 (ненулявое значэнне)
- Пакажыце прырост (крок)
Функцыю enumerate() можна выкарыстоўваць, каб атрымаць індэкс у цыкле for.
Нармальны цыкл для
l = ['Alice', 'Bob', 'Charlie']
for name in l:
print(name)
# Alice
# Bob
# Charlie
Цыкл для выкарыстання функцыі enumerate().
Пакажыце ітэрацыйны аб’ект, напрыклад спіс, у якасці аргумента функцыі enumerate().
Вы можаце атрымаць нумар індэксу і элемент у гэтым парадку.
for i, name in enumerate(l):
print(i, name)
# 0 Alice
# 1 Bob
# 2 Charlie
Пачніце індэкс функцыі enumerate() з 1 (ненулявое значэнне)
Як паказана ў прыведзеным вышэй прыкладзе, па змаўчанні індэкс функцыі enumerate() пачынаецца з 0.
Калі вы хочаце пачаць з ліку, акрамя 0, укажыце адвольны пачатковы лік у якасці другога аргумента функцыі enumerate().
Каб пачаць з нуля, зрабіце наступнае.
for i, name in enumerate(l, 1):
print(i, name)
# 1 Alice
# 2 Bob
# 3 Charlie
Вядома, можна пачаць з іншых лічбаў.
for i, name in enumerate(l, 42):
print(i, name)
# 42 Alice
# 43 Bob
# 44 Charlie
Карысна, калі вы хочаце стварыць паслядоўна пранумараваны радок; разумней пазначыць пачатковы нумар у якасці другога аргумента функцыі enumerate(), чым выкарыстоўваць ‘i+1’ для пачатку з 1.
for i, name in enumerate(l, 1):
print('{:03}_{}'.format(i, name))
# 001_Alice
# 002_Bob
# 003_Charlie
Больш падрабязную інфармацыю аб функцыі фармату, якая выкарыстоўваецца для запаўнення лікаў нулямі, глядзіце ў наступным артыкуле.
- Падобныя артыкулы:Вывад запоўненых нулёў, шаснаццатковых лікаў і г.д. з дапамогай функцыі format() Python
Пакажыце прырост (крок)
У функцыі enumerate() няма аргументу для пазначэння кроку прыросту, але гэта можа быць выканана наступным чынам
step = 3
for i, name in enumerate(l):
print(i * step, name)
# 0 Alice
# 3 Bob
# 6 Charlie