商管人也可以秒懂的Python For 迴圈思維! 真實上課思維公開!

zino lin
誤闖數據叢林的商管人Zino
5 min readApr 22, 2020

相關文章:
幫助Python新手度過陣痛期的關鍵功能!整合開發環境 Spyder三大功能Python初學者為什麼選擇Anaconda為開發環境呢?

過去與許多初學者聊天過程中,許多人就算上過for迴圈也不太知道該如何真實使用。如同這篇文章《為什麼要有for迴圈的存在呢?》所說大家也知道for 迴圈非常重要,可以節省大量時間。更不用說未來的應用如:網路爬蟲、網頁後端與資料清理都需要用到大量的for 迴圈。

可惜因為for 迴圈的抽象,讓許多人開始懷疑自己適不適合學習Python。或許你可以先參考這篇《為什麼我的Python 總是學不好?》。結果根據我跟許多初學者交流後發現,一般初學者無法理解的重要原因是他無法想像for的運作過程所以本篇會再詳細介紹python for 迴圈的執行過程。

變數型態 List

一開始先跟大家介紹一個變數型態:List 。List 是指一種可以把多個連續資料放入一個變數中的變數型態。通常是用中括號刮起來。如下圖2 :a=[1,2,3,4] 並print(a)。這個資料艘後會用到。

a[0] 就會得到 1

圖2 a=[1,2,3,4] 並print(a)

感謝網友張家華 :提醒 Python list 不是陣列。
python 的陣列為: numpy.array([1,2,3])
具體差異就是 array 的元素必須相同型別 list 則不需要。

For 迴圈

我們來看for 迴圈的架構: 並由陣列數量決定圈數

for 變數 in List :
被重複程式碼第一行
被重複程式碼第二行
...

套到簡單案例中:(可以對照上方灰色區塊)

圖三、

案例拆解

通常會讓初學者很疑惑的是為什麼寫 i但是卻會印出1,2,3,4呢?
我們可以把for迴圈做一個動作拆解。
先將完全執行的結果列出來。 我們使用十字表對應i 跟print每圈對應結果。

圖四

第一圈拆解

其實for 迴圈在每一圈的時候把 List 中第0個數字丟入 i變數中。所以當print(i) 時,這時的i是1 所以才會印出1。

圖五、第一圈

第二圈拆解

在第二圈的時候把 List 中第1個數字丟入 i變數中。所以當print(i) 時,這時的i是2 所以才會印出2。

圖六、第二圈

第三圈拆解

在第三圈的時候把 List 中第2個數字丟入 i變數中。所以當print(i) 時,這時的i是3所以才會印出3。

圖、第三圈

第四圈拆解

依此類推直到 List 結束為止。這也是為什麼會印出1,2,3,4的原因

圖七、第四圈
圖八、真實執行結果

想想看如果變成print( i+1)呢?

圖九、十字表結果
圖十、執行結果

所以新手該如何思考呢?

其實你只要思考兩個重點。

1. 想要達到的結果,哪段程式碼被重複了? 把重複程式碼寫到縮排內

2. 什麼地方是有順序性的? 把順序值丟到陣列中。

圖十一、 for迴圈思維

這樣一步一步帶領很容易就可以幫助初學者看到for迴圈的執行過程!

不知道有沒有什麼建議歡迎跟我說喔!

相關文章:幫助Python新手度過陣痛期的關鍵功能!整合開發環境 Spyder三大功能

相關文章:怒砍Anaconda ! 手動移除windows Anaconda 殘留檔案!

相關文章:入門必看!Windows 懶人搭建Anaconda Python 學習環境

相關文章:為什麼我的Python 總是學不好?

相關文章: Python初學者為什麼選擇Anaconda為開發環境呢?

by 誤闖數據叢林的商管人 Zino

如果你覺得這篇文章很棒
你的拍手是我前進的動力!

--

--

zino lin
誤闖數據叢林的商管人Zino

HI!我是Zino! 我曾任數據分析新創CTO且擔任過資策會與外貿協會Python講師。目前回到學界當菸酒生中。努力分享自己的經驗與所常!幫助更多人前進💪