首頁 > 軟體

python中陣列和列表的簡單範例

2022-03-25 16:00:48

#環境win64+anaconda+python3.6

list & array

(1)list不具有array的全部屬性(如維度、轉置等)

程式碼1:

#eg1_1
import numpy as np
a = np.array([[1,2,0,1],[1,6,9,55],[7,8,9,5]])#a為陣列
print(a.T)
 
#Result:
[[ 1  1  7]
 [ 2  6  8]
 [ 0  9  9]
 [ 1 55  5]]
 
#eg1_2
a = [[1,2,0,1],[1,6,9,55],[7,8,9,5]] #a為列表
print(a.T)
 
#Result:
'list' object has no attribute 'T'

程式碼2:

#eg1_3
import numpy as np
a=np.array([[1,2,3],[1,1,4],[1,5,1]])
print(a.shape)
 
#Result:
(3, 3)
 
#eg1_4
a=[[1,2,3],[1,1,4],[1,5,1]]
print(a.shape)
 
#Result
'list' object has no attribute 'shape'

(順帶一提,如何把一個陣列轉化為列向量:↓)

import numpy as np
a=np.array([[1,2,3],[1,1,4],[1,5,1]])
a=a.reshape(-1,1)
print(a)
 
#Result:
[[1]
 [2]
 [3]
 [1]
 [1]
 [4]
 [1]
 [5]
 [1]]

(2)a[:m]的含義,a可以是列表或者陣列,但是無論是哪種情況,a[:0]為空

#eg2_1
import numpy as np
a=np.array([[4,1,2],
            [7,4,10],
            [12,17,88]])
#a=np.array([(4,1,2),
#            (7,4,10),
#            (12,17,88)]) 這兩個a中[和(不一樣,其實它們完全一樣
print(a[:0])
print(a[:1])
print(a[:2])
 
#Result:
[]
[[4 1 2]]
[[ 4  1  2]
 [ 7  4 10]]
 
#eg2_1
a=[(4,1,2),(7,4,10),(12,17,88)]
print(a[:0])
print(a[:1])
print(a[:2])
 
 
#Result:
[]
[(4, 1, 2)]
[(4, 1, 2), (7, 4, 10)]

(3)array和list關於“==”的計算

#eg3_1
import numpy as np
a=np.array(['dog','cat','car'])
b=np.array(['dog','cat','trunk'])
acc = (np.mean(a == b))
print(acc)
 
#Result
0.6666666666666666
 
#eg3_2
import numpy as np
a=['dog','cat','car']
b=['dog','cat','trunk']
acc = (np.mean(a == b))
print(acc)
 
#Result
0.0

(4)array和list關於“*”的計算

from numpy import *
#a為陣列
a=array([[1,2,3],
   [4,5,6]])
b=4*a
print(b)    
 
[[ 4  8 12]
 [16 20 24]]
 
 
from numpy import *
#a為列表
a=([[1,2,3],
   [4,5,6]])
b=4*a
print(b)
 
[[1, 2, 3], [4, 5, 6], [1, 2, 3], [4, 5, 6], [1, 2, 3], [4, 5, 6], [1, 2, 3], [4, 5, 6]]

python列表和Numpy陣列的區別

1、二者都可以用於處理多維陣列。

Numpy中的ndarray物件用於處理多維陣列,它作為一個快速而靈活的巨量資料容器。Python列表可以儲存一維陣列,通過列表的巢狀可以實現多維陣列。

2、儲存效率和輸入輸出效能不同。

Numpy專門針對陣列的操作和運算進行了設計,儲存效率和輸入輸出效能遠優於Python中的巢狀列表,陣列越大,Numpy的優勢就越明顯。

3、元素資料型別。

通常,Numpy陣列中的所有元素的型別都必須相同的,而Python列表中的元素型別是任意的,所以在通用效能方面Numpy陣列不及Python列表,但在科學計算中,可以省掉很多回圈語句,程式碼使用方面比Python列表簡單的多。

總結

到此這篇關於python中陣列和列表的文章就介紹到這了,更多相關python陣列和列表內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com