串列
呢篇文 需要熟悉呢方面嘅人幫手寫。 |
串列(英文:list)喺程式編寫係一種數據結構,表示一系列嘅嘢(可以係零個),原則上係一種循序存取嘅數據結構。
但係,喺某一啲高階嘅程式程語言,串列可以同陣列一樣,可以用一個整數值嘅索引隨機存取,變成同陣列好相似,例子有 Perl 同 Python[1]。
喺大部份嘅程式語言,串列都唔會係基本嘅資料類型,但係唔一定;例如 Lisp 嘅基礎就係串列。Python 嘅基本類陣列資料類型其實都係串列。
Python
編輯喺 Python 裏面,串列同陣列最主要嘅分別在於,串列冇特定嘅資料類型,可以(例如)一格裝整數另一格裝浮點數,而一條陣列有指定資料類型。
用以下嘅 Python 碼做例子:
my_list = [3, 6, 9, 12] # my_list 係條串列,[3, 6, 9, 12]
empty_list = [] # 創建一條空嘅串列,叫 empty_list
my_list.append([4,5]) # 將 [4,5] 當一嚿數據噉加落去,即係會變成 [3, 6, 9, 12, [4, 5]]。
my_list.extend([4,5]) # 將 4 同 5 分開噉加落去,即係會變成 [3, 6, 9, 12, [4, 5], 4, 5]。
my_list.insert(1, 4) # 將 4 加落去第 1 個位度,即係會變成 [3, 4, 6, 9, 12, [4, 5], 4, 5]。
一段串列唔使格格都裝同一隻類型嘅數據,所以以下噉嘅 Python 碼係行得通嘅:
my_list.append('meh') # 將 'meh' 呢段字串加落去 my_list 度,my_list 會變成 [3, 4, 6, 9, 12, [4, 5], 4, 5, 'meh']。
但好似以下噉嘅碼就會有問題:
import array as arr
my_array = arr.array("i", [3, 6, 9, 12]) # 建立 my_array 呢條陣列。
my_array.append('meh') # Python 會講:an integer is required。
-段碼講好咗,my_array
係個整數("i"
)類型嘅陣列,'meh'
唔係整數,所以段碼搞到個程式出錯。