numpy.array
阿新 • • 發佈:2017-12-28
nbsp arrays module bsp 元素 二維 mat ice html
關於python中的二維數組,主要有list和numpy.array兩種。
好吧,其實還有matrices,但它必須是2維的,而numpy arrays (ndarrays) 可以是多維的。
我們主要討論list和numpy.array的區別:
我們可以通過以下的代碼看出二者的區別
1 >>import numpy as np 2 >>a=[[1,2,3],[4,5,6],[7,8,9]] 3 >>a 4 [[1,2,3],[4,5,6],[7,8,9]] 5 >>type(a) 6 <type ‘list‘> 7 >>b=np.array(a)"""List to array conversion""" 8 >>type(b) 9 <type ‘numpy.array‘> 10 >>b 11 array=([[1,2,3], 12 [4,5,6], 13 [7,8,9]])
list對應的索引輸出情況:
1 >>a[1][1] 2 5 3 >>a[1] 4 [4,5,6] 5 >>a[1][:] 6 [4,5,6] 7 >>a[1,1]"""相當於a[1,1]被認為是a[(1,1)],不支持元組索引"""8 Traceback (most recent call last): 9 File "<stdin>", line 1, in <module> 10 TypeError: list indices must be integers, not tuple 11 >>a[:,1] 12 Traceback (most recent call last): 13 File "<stdin>", line 1, in <module> 14 TypeError: list indices must be integers, nottuple
numpy.array對應的索引輸出情況:
>>b[1][1] 5 >>b[1] array([4,5,6]) >>b[1][:] array([4,5,6]) >>b[1,1] 5 >>b[:,1] array([2,5,8])
由上面的簡單對比可以看出, numpy.array支持比list更多的索引方式,這也是我們最經常遇到的關於兩者的區別。此外從[Numpy-快速處理數據]上可以了解到“由於list的元素可以是任何對象,因此列表中所保存的是對象的指針。這樣為了保存一個簡單的[1,2,3],有3個指針和3個整數對象。”
numpy.array