何謂 多層容器 ?我們前面說過List可以存放 『任意型別』 ,其中也包含了容器型別,也就是說你可以在List的元素中定義 "子串列" ,子串列的特性與正常串列沒有任何區別,因此你可以 一直分割下去 。
#建立一個List含有3個水果的資訊
fruit=[['柳橙', '10', 'True'], ['柚子', '30', 'True'], ['番茄', '15', 'True']]
print(fruit[0] [0]) #讀取fruit這個串列中的第0個元素,裡面的第0個元素
print(fruit[1] [0]) #讀取fruit這個串列中的第1個元素,裡面的第0個元素
print(fruit[2] [0])
輸出:
柳橙
柚子
番茄
※ 小盒子的部分為串列,圓圈代表元素
當你不需要某個元素時,你可以使用 『del』 來刪除串列中的元素
del fruit[0] #這樣就刪除了fruit這個串列中的第0個元素
#如果你整個串列都不要了,你可以選擇刪除整個變數名稱
del fruit #刪除fruit這個變數
tuple跟List的使用方式幾乎一模一樣,它的特性是其中的元素是 不可更改(immutable) 的,主要用作程式中存放重要的"常數"或是不希望被更改的內容,由於它不可更改的特性使的它的資料結構較為簡單,而執行速度也比較快速。
⚠ tuple在容器的使用方式是使用小括號,而非大括號,這點要特別注意!!
⚠ 但是在使用索引調用元素時,仍然是使用大括號。
我們剛有說到 『tuple跟List的使用方式幾乎一模一樣』 所以它一樣也能在元素中定義子串列,由於tuple的管轄範圍僅在第一層的元素,因此當你加入一個可變的容器當作元素,那這種情況就可以更動子容器中的內容。
fruit=('蘋果', '柚子', '番茄')
print(fruit[0], fruit[2])
fruit2 = tuple(fruit) #建立一個變數名為fruit2的tuple,並使用fruit這個List當作範本來建立
print(fruit2[0], fruit2[2])
輸出:
蘋果 番茄
蘋果 番茄