基本觀念之4~串列與迴圈

1-4串列與迴圈

我們前面曾提到過,變數包括有變數名稱和變數值兩部份,其中的變數值除了單一數據外,也可以指定為多個數據,例如一個班上的數學成績可能有幾十筆,都屬於同一個變數。這種情況,在平日生活中,常有機會碰到,所以多個數據的資料表示方式,及其運算處理技巧,在Python裡面是相當重要的

在這裡,我們先熟悉一種資料型態叫做串列(list),它是好幾個數據被中括弧包含起來,彼此間用逗號分開,比如像變數 lista = [11, 22, 33, 44],其中括弧內的每個數據可稱之為元素(element)

這種資料型態也叫做容器(container),非常適合使用for迴圈來處理運算,因為它的資料整齊排列,被限制在一定範圍內,讓人很直覺的看出來,每個數據可以依序被迴圈取出。所以要輸出所有數據,或者加總其數據,都可以援用上一次的做法。

上圖中,第2行和第7行,for迴圈中的 i,現在是 in 在lista裡面了,可想而知,就是隨著不同次的迴圈,依序把11223344分別指定給變數 i ,然後把它的值印出來或加總

這種 in 在某個容器內,然後隨著迴圈將元素一一取出的方法,非常直覺,但很好用,也有一些變化的型式。

在上面的程式執行過程當中,我們不得不將所有元素一口氣處理完畢,但如果要個別取出某個元素,就要用到索引的技巧了

上述的11223344,它們在lista裡面的索引值,分別是0123,可以利用中括弧加索引值將lista編號,個別取出裡面的元素。當然也可利用迴圈變數當作編號,一一將元素值取出,如下圖所示。

在第2行最右邊,我們使用反斜線”\”來強迫換行,讓太長的程式碼變得比較好閱讀。讀者可以自行print(lista)看看,觀察其和第3行輸出的異同處,並想辦法解釋其差異。

第5和第6行當中的迴圈變數 i,在這裡,不再直接取用來輸出,而是將它當作串列的索引值,把每個元素都編號後,再做輸出。讀者也可以用這種方法,將元素值加總看看索引加迴圈,是初學者開始會感到挫折的地方,動手多練習,是克服困難的唯一良方。

容器(container) 有多個種類,中括弧裡面的數據如果用空格代替逗號,就是陣列(array);大括弧裡面數據用逗號分開的稱為集合(set),如果數據是成對的則稱為字典(dictionary);小括弧裡面數據用逗號分開的,稱為元組(tuple)

元組(tuple)這個字中英文看起來都有點彆扭,不容易顧名思義,剛開始都會聯想到元祖雪餅。它其實只是一組相關的數據被整理在一起,目的在便於閱讀及取用其訊息,而非將數據做運算處理。例如記錄陣列的維度、函式的多個回傳值等。

Leave a Comment

Your email address will not be published. Required fields are marked *

Shopping Cart