iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 8
1
自我挑戰組

Python 30天學習日誌系列 第 8

Day08-串列List與元組Tuple

  • 分享至 

  • twitterImage
  •  

串列 (List)

程式中的資料通常是以變數來儲存,那如果有大量的資料需要儲存時,就必須宣告龐大數量的變數,因此「串列」就派上用場了。
「串列」是能夠提供儲存資料的記憶體空間,每一個串列擁有一個名稱,作為識別該串列的標誌;串列中每一個資料稱為「元素」,每一個串列元素相當於一個變數,如此就可以輕易儲存大量的資料儲存空間。要存取串列中特定元素,是以元素在串列中的位置作為索引,即可存取串列元素。其語法為:

串列名稱 = [元素1, 元素2,.... ]

元素的資料型態可以相同或不同,甚至串列本身,如:

list1 = [1, 2, 3, 4, 5]          #元素皆整數
list2 = ["香蕉", "蘋果", "芭樂"]  #元素皆字串
list3 = [1, "蘋果", True]        #包含不同資料型態
list4 = ["Sean", 165, 55, "student", ['Java', 'Python']]

那取得元素值的方法是將索引值置於中括號內,注意索引值是從0開始計,所以第一個元素索引值為0,第二個為1,以此類推。索引值不可超出串列範圍,否則會產生錯誤。例如:

>>>list4 = ["Sean", 165, 55, "student", ['Java', 'Python']]

>>> print(list4[3])
student
>>> print(list4[10]) #錯誤,索引值超出範圍

索引值可以是負值,表示由串列的最後向前取出,"-1"表示最後一個元素,"-2"表示倒數第二個,以此類推。同理,負索引值不可超出串列範圍,否則會產生錯誤。如:

>>>list4 = ["Sean", 165, 55, "student", ['Java', 'Python']]

>>> print(list4[-3])
55
>>> print(list4[-10]) #錯誤,索引值超出範圍

最後就是多維串列,它元素的存取是使用多個中括號組合,取出方法為下:

>>>list4 = ["Sean", 165, 55, "student", ['Java', 'Python']]

>>> print(list4[4])
['Java', 'Python']
>>> print(list4[4][1])
Python

元組 (Tuple)

元組的結構與串列完全相同,不同處在於元素個數及元素值皆不能改變,而串列可以改變,簡言之,Tuple就是"不可變的List"。語法如下:

元組名稱 = (元素1, 元素2,.... )

元組使用方式都與串列相同,但不能修改元素值,否則會發生錯誤。如:

tuple1 = (1, 2, 3, 4, 5)          #元素皆整數
tuple2 = (1, "蘋果", True)        #包含不同資料型態

>>>tuple3 = ("Sean", 165, 55, "student", ('Java', 'Python'))

>>>print(tuple3[3])
student
>>> tuple3[0] = "Eric"   #錯誤,元素不能修改

那明天再來多講解List跟Tuple的相關用法。以下先整理比較出兩者差異:

  • List功能強大,它內容可以改變,同時也可新增和刪除,但Tuple資料不可修改。
  • Tuple執行速度比List快,因為其內容不會改變,因此Tuple內部結構比List簡單,執行速度較快。
  • 存於Tuple的資料較為安全,因為內容不會改變,不會因程式設計疏忽而變更資料內容。

參考資料

  • 書名- Python初學特訓班 /文淵閣工作室-編著

上一篇
Day07-For、While迴圈(下)
下一篇
Day09-List的進階操作與用法
系列文
Python 30天學習日誌30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言