numpy使用ndarray物件來處理多維陣列,該物件是乙個快速而靈活的大資料容器。使用python列表可以儲存一維陣列,通過列表的巢狀可以實現多維陣列,那麼為什麼還需要使用numpy呢?numpy是專門針對陣列的操作和運算進行了設計,所以陣列的儲存效率和輸入輸出效能遠優於python中的巢狀列表,陣列越大,numpy的優勢就越明顯。通常numpy陣列中的所有元素的型別都是相同的,而python列表中的元素型別是任意的,所以在通用效能方面numpy陣列不及python列表,但在科學計算中,可以省掉很多迴圈語句,**使用方面比python列表簡單的多。
從列表性質的[ [ ],[ ],[ ]...]中取出的是列表性質,從陣列性質[ [ ],[ ],[ ]...]中取出的是陣列,從矩陣中取出的還是矩陣
列表可以使用shape(a),但無法使用a.shape,陣列和矩陣都可以使用
x=array( [1, 1, 1,....] ) x.ndim = 1(維數是1),如果是x = ones( (3,1) ),即使是3行1列,x.ndim = 2
列表和陣列都可以和矩陣進行運算,前提是符合矩陣運算規則,結果是矩陣
列表和陣列可以進行運算,結果是陣列
列表和陣列中可以取出單個數,而且取出來的數是數值型,矩陣中無法直接取出單個元素
>>> from numpy import *
>>> a = mat( ones( (3,2) ) )
>>> a
matrix([[ 1., 1.],
[ 1., 1.],
[ 1., 1.]])
>>> a[0]
matrix([[ 1., 1.]]) #a[0]取出來的是矩陣[ [1 ,1] ]
>>> a[0][0]
matrix([[ 1., 1.]]) #a[0][0]取出的是矩陣[ [1 ,1] ]的第一行元素組成矩陣,還是[ [1 ,1] ]
python 中的 陣列 矩陣 列表
參考 作為初學者 很容易混淆這兩個概念 記錄一下 陣列和c語言中一樣,可以通過下標訪問,例如 乙個3 3的陣列,在python中是這樣的 array 1,2,3 1,1,2 1,2,2 用a 1 2 訪問的是第二行第三個元素 2.但是python中很多的操作都是對矩陣進行的。所以通過呼叫 from ...
python 列表,陣列和矩陣sum的用法區別
1.列表使用sum,如下 對1維列表和二維列表,numpy.sum a 都能將列表a中的所有元素求和並返回,a.sum 用法是非法的。但是對於1維列表,sum a 和numpy.sum a 效果相同,對於二維列表,sum a 會報錯,用法非法。2.在陣列和矩陣中使用sum 對陣列b和矩陣c,b.su...
Python列表 Numpy陣列與矩陣的區別
python列表和numpy陣列的區別 numpy使用ndarray物件來處理多維陣列,該物件是乙個快速而靈活的大資料容器。使用python列表可以儲存一維陣列,通過列表的巢狀可以實現多維陣列,那麼為什麼還需要使用numpy呢?numpy是專門針對陣列的操作和運算進行了設計,所以陣列的儲存效率和輸入...