numpy.array可以專門表示二維或多維數據
b=np.array(a)
>>b
array=([[1,2,3],
[4,5,6],
[7,8,9]])
總結兩點不同的地方:
1.元素類型
list是python的基本數據類型,它的元素類型可以不同。如:[1, 2, 'a', 3,4];
array是numpy的一種數據類型,所包含的元素類型必須相同。
在list中的數據類型保存的是數據的存放的地址,簡單的說就是指針,並非數據,這樣保存一個list就太麻煩了,例如list1=[1,2,3,'a']需要4個指針和四個數據,增加了存儲和消耗cpu。
2.索引方式
在索引方式上,numpy.array支持比list更多的索引方式。
list對應的索引方式:
a[1][1] = 5
a[1] = [4,5,6]
a[1][:] = [4,5,6]
a[1,1]
會報錯,相當於被認爲a[(1,1)] ,即索引項被誤認爲是元組(1,1) ,報以下錯誤:
TypeError: list indices must be integers, not tuple
a[:,1]
同上,報同樣錯誤
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])