串列英文list)喺程式編寫係一種數據結構,表示一系列嘅嘢(可以係零個),原則上係一種循序存取嘅數據結構。

但係,喺某一啲高階嘅程式程語言,串列可以同陣列一樣,可以用一個整數值嘅索引隨機存取,變成同陣列好相似,例子有 PerlPython[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' 唔係整數,所以段碼搞到個程式出錯。

睇埋

參攷