# counter and enumerate

**URL:** <https://vip.studycamp.tw/t/counter-and-enumerate/3948>\
**Category:** Python全攻略 週三組\
**Created:** [2022年七月5日 04:41 UTC](https://vip.studycamp.tw/t/counter-and-enumerate/3948 "2022-07-05T04:41:41Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![Aeon](https://vip.studycamp.tw/user_avatar/vip.studycamp.tw/aeon/32/6039_2.png) [@Aeon](https://vip.studycamp.tw/u/Aeon)\
**Post date:** [2022年七月5日 04:41 UTC](https://vip.studycamp.tw/t/counter-and-enumerate/3948/1 "2022-07-05T04:41:41Z")

</div>

我在練習 counter and enumerate，我理解是他們都可以計算這個loop跑了幾次。  
使用counter的話，他是從1開始計算，使用enumerate，他是從0開始計算，  
因此呈現的total counts是不同的，這樣enumerate 給的數值不就是錯的?或是要自己+1?

---

<div class="post-metadata">

**Author:** ![Aeon](https://vip.studycamp.tw/user_avatar/vip.studycamp.tw/aeon/32/6039_2.png) [@Aeon](https://vip.studycamp.tw/u/Aeon)\
**Post date:** [2022年七月5日 04:42 UTC](https://vip.studycamp.tw/t/counter-and-enumerate/3948/2 "2022-07-05T04:42:44Z")

</div>

```python

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
```

---

<div class="post-metadata">

**Author:** ![Aeon](https://vip.studycamp.tw/user_avatar/vip.studycamp.tw/aeon/32/6039_2.png) [@Aeon](https://vip.studycamp.tw/u/Aeon)\
**Post date:** [2022年七月5日 04:43 UTC](https://vip.studycamp.tw/t/counter-and-enumerate/3948/3 "2022-07-05T04:43:05Z")

</div>

```python

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
```

---

<div class="post-metadata">

**Author:** ![arthas989](https://vip.studycamp.tw/uploads/default/original/1X/c754823bb6835b2e19f0d2e46e3ac60af89f54d7.jpeg) [@arthas989](https://vip.studycamp.tw/u/arthas989)\
**Post date:** [2022年七月5日 04:52 UTC](https://vip.studycamp.tw/t/counter-and-enumerate/3948/4 "2022-07-05T04:52:53Z")

</div>

我把0開始當成很自然了，但實務上確實編號也很少是由0開始的  
可以加上enumerate(iterable,start=1) 解決這個問題喔!!

```python
for counter, character in enumerate('hello',start=1):
        print(character)
        print(f'counter is {counter}')

```

我查這裡得知的 [https://docs.python.org/3/library/functions.html#enumerate](https://docs.python.org/3/library/functions.html#enumerate)

---

<div class="post-metadata">

**Author:** ![CarryXu](https://vip.studycamp.tw/user_avatar/vip.studycamp.tw/carryxu/32/6049_2.png) [@CarryXu](https://vip.studycamp.tw/u/CarryXu)\
**Post date:** [2022年七月5日 07:24 UTC](https://vip.studycamp.tw/t/counter-and-enumerate/3948/5 "2022-07-05T07:24:06Z")

</div>

如果您希望讓counter數值顯示從0開始的話  
可以試著把counter+=1跟print counter兩行交換看看
