Python – 迴圈 part1

內容目錄

簡介

迴圈在各大程式語言也是必備的使用方法,為什麼要學這個呢,當你要重複執行某件事,或是你要找尋陣列裡面的值時,等等的類似情況都必須使用到『迴圈』,迴圈不僅是節省程式碼的行數,也可以節省你寫程式的時間。這邊我就舉個例子,我想要印出1-10的數字,我不用回圈來呈現之,如下圖,你學會使用迴圈後就會知道該方法的好了。

沒用迴圈要寫10行

for迴圈

最常見也最常使用的就是『for-loop』,在python中在for-loop中,有兩個關鍵字『for跟in』,而我們就直接實作上面印1-10的範例看看吧。

我們透過for-loop僅需兩行就解決了簡介所示範的10行,假如要印1-100,透過for-loop也僅需兩行。但是你可以看到in後面所接的數量,透過『range()』把數值括起來,為什麼要這樣?

//C#的for-loop用法,是不用使用到序列索引即可執行
for(int i = 0 ; i< 10 ; i++)
{
    Debug.Log(i);
}

我們要知道『in』後面,在python中是要接『序列』,這個for-loop才可以執行,所以range()的意思,是把括弧內的數值從最少自動排列到最大,接著再給for-loop逐步執行。

當然在python中不僅僅只有這方法代表序列,你也可以新增『array , list …等』有索引容器的都可以用在for-loop。接著我們介紹一下list並將與for-loop一起應用。

#這邊是list容器的新增方法,下面新增了10個空間大小的list
IamList = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

而序列裡面不僅只能放整數的資料型態,字串、浮點數等等資料型態都可以放,你可以把list想成更大一點的容器來裝一個一個的小容器。

可以看到上圖,有兩種for-loop,一種事單純的直接拿list並印出,而另一種是比較謹慎的寫法,『range(len(theBeatles))』,意思就是將該list容器中的數量列出,並且透過range依序排列來印出。

而我們假如想要將多個list同時加在一個for-loop要怎樣做呢?

在 Python 中若要將兩個 list 以迴圈的方式一次各取一個元素出來處理,可以使用『zip』打包之後配合『for-loop』來處理,但要注意的是兩個list的空間數量要一樣,不然可能會出錯,在for的索引list把兩個都放上並用『,』來區別,在『in』後面透過zip()把兩個list放在其中即可。

小結

這篇介紹了for-loop從基本到有點進階的用法,當然迴圈的世界其實不只有for-loop,其實還有巢狀迴圈(for-loop更進階版)、do-while等等的用法,讓我們一步一步來學,一次看吸收太多可能會消化不良,讓我們慢慢看下去。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *