我在練習 counter and enumerate,我理解是他們都可以計算這個loop跑了幾次。
使用counter的話,他是從1開始計算,使用enumerate,他是從0開始計算,
因此呈現的total counts是不同的,這樣enumerate 給的數值不就是錯的?或是要自己+1?
counter = 0
for item in 'hello':
print(item)
counter += 1
print(f'counter is {counter}')
----------------------------------
h
counter is 1
e
counter is 2
l
counter is 3
l
counter is 4
o
counter is 5
for counter, character in enumerate('hello'):
print(character)
print(f'counter is {counter}')
-------------------------------
h
counter is 0
e
counter is 1
l
counter is 2
l
counter is 3
o
counter is 4
我把0開始當成很自然了,但實務上確實編號也很少是由0開始的
可以加上enumerate(iterable,start=1) 解決這個問題喔!!
for counter, character in enumerate('hello',start=1):
print(character)
print(f'counter is {counter}')
我查這裡得知的 https://docs.python.org/3/library/functions.html#enumerate
3 Likes
如果您希望讓counter數值顯示從0開始的話
可以試著把counter+=1跟print counter兩行交換看看
2 Likes