Python
Numpy
假設陣列 A 如下:
陣列 A 為「3列(row) 2行(column)」,其中列為橫的,行為直的。
在 numpy 中,利用元組(tuple) 紀錄陣列的形狀(shape),A 為 (3, 2) 的矩陣。
陣列大小(size) 其實就是陣列中的元素個數,所以,陣列 A 的大小為 6。
陣列 A 是一個 2維矩陣,所以,陣列 A 的維度(ndim) 為 2。
可以利用 A[2, 1] 或 A[2][1] 存取到最右下角的元素,其值為「32」。注意:如同串列(list)一樣,列索引值和行索引值都是從 0 開始。
一個 n 維陣列,會有 n 個軸(axis)。以陣列 A 為例,陣列 A 有兩個軸,那誰是axis 0呢?很簡單,看下圖就明白了。
程式碼
透過 List 轉換
一維陣列
這個會得到一個 1 維陣列如下:
二維陣列
這個程式得到一個 2 維陣列如下:
陣列形狀轉換
有時候,我們可以先輸入一個串列後,再改變形狀,例如:
執行後,會得到一個 3*2 的陣列如下:
那麼下面這個程式,產生的陣列應該為何?
利用 arange 函數產生
利用 linspace 函數產生
linspace 函數可以將指定區間平均分為 n-1 等分。其形式如下:
linspace(start, end, n)
注意到 linspace 函數預設是有包括 start 和 end 兩點。
考慮以下程式,其執行結果為何?
利用隨機亂數產生
特殊的陣列
元素都是 0 的陣列
其中 a5、a6 陣列內的元素值均為 0 且為浮點數;a7 陣列內的元素值為整數 0。結果如下:
元素都是 1 的陣列
其中 a8、a9 陣列內的元素值均為 1 且為浮點數;a10 陣列內的元素值為整數 1。結果如下:
單位元素陣列
假設有兩個陣列
純量與陣列運算
陣列與陣列運算