尚未建立名稱
能量:0
我的帳號中心
問 學Bot 任何問題!
首頁&搜尋
最愛&收藏
所有課程
分享資源
帳號設定
關於學呀
線上募款
章節設定
章節名稱
章節類別
章節標籤
或者建立新標籤
章節內容
全螢幕編輯與預覽
# Python中的多維列表 我們已經對 Python 中的列表有了一些初步的瞭解,接下來,我們將更加深入地探討 Python 中的列表使用。經常,我們必須處理很複雜的資料結構,這些資料一個個地被儲存在列表中,因此,要怎麼有效地將列表的結構複雜化,成了一個很重要的課題。 ## 列表中的列表 還記得嗎?我們之前曾經提到,列表中可以儲存幾乎所有的資料型態。既然是「幾乎所有的資料型態」,那麼想必列表中是可以儲存另一個列表的吧? 沒有錯的,我們可以在一個列表中,加上其它的列表——也可以在這些列表中的列表中,加上更多其它的列表… 一直這樣循環下去。事不宜遲,讓我們馬上建立一個我們很熟悉的列表: ``` >>> a = [1, 3, 5] >>> print(a) [1, 3, 5] ``` 再熟悉不過了,對吧!接著,讓我們試著將這個列表 a 中的 1 號位置變成另外一個列表: ``` >>> a[1] = [99, 98, 97] >>> print(a) [1, [99, 98, 97], 5] ``` 看起來會不會吧有些複雜呢?在第一行程式中,我們將 `a[1]` 變成了列表 `[99, 98, 97]`。接下來,我們印出了列表 a,並且得到程式中的三行的輸出。 從這個輸出中,我們可以看到,現在列表 a 的第 0 項是 1,而第 2 項是 5,夾在中間的第 1 項,則代表著 `[99, 98, 97]` 這個列表。這種在列表中還有其它列表的情況,我們成為**多維列表**,或者在這個例子中,是**二維列表**。 ## 建立多維列表 要建立一個多維列表,可以說是相當的簡單,因為過程跟任何其它類型變數的宣告都一模一樣。舉例來說,現在我們想要建立一個變數叫做 c,並且讓其值為一個二維陣列,那麼我們可以: ``` >>> c = [1, [0, 1, 2], 2, 3] >>> for item in c: ... print(item) ... 1 [0, 1, 2] 2 3 ``` 是的,宣告一個多維的列表,與宣告一個一維的列表其實是一模一樣的,只是把其中的某一個項目改成另外一個列表而已!不只列表中的列表可以這樣寫,列表中的列表中的列表也可以這樣寫哦!以此類推。 ``` >>> a = [1, [2, [3, 4]], 5] >>> for elem in a: ... print(elem) ... 1 [2, [3, 4]] 5 ``` ## 多維列表的選取 還記得嗎?列表中的每一個項目,都有自己的位置編號,這些編號由 0 開始,依序往列表的右邊增加。在選取列表中的項目時,我們可以使用中括號 `[]` 來代表該項目在列表中的位置,例如: ``` >>> m = [1, 3, 5] >>> print(m[0]) 1 >>> print(m[1]) 3 >>> print(m[2]) 5 ``` 同樣的邏輯,也可以運用在多維列表上: ``` >>> al = ["a", "b", ["c", "d"]] >>> print(al[0]) a >>> print(al[1]) b >>> print(al[2]) ['c', 'd'] ``` 但是如果我們想要選擇的是列表中的字母 c 呢?要怎麼寫才能讓電腦選取到列表中的另外一個列表?其實很簡單,我們可以使用兩個中括號 `[][]`: ``` >>> print(al[2]) ['c', 'd'] >>> print(al[2][0]) c >>> print(al[2][1]) d ``` 這樣的邏輯相當地簡單易懂。接著,讓我們來看看下面這個例子: ``` >>> mul = ['A', ['B', ['C', 'D'], 'E']] ``` 讓我們分別印出 A、B、C、D、E,練習一下怎麼選取複雜列表中的項目吧! ``` >>> print(mul[0]) A >>> print(mul[1][0]) B >>> print(mul[1][1][0]) C >>> print(mul[1][1][1]) D >>> print(mul[1][2]) E ```
儲存章節
前往實際頁面