1 回答

TA貢獻2003條經驗 獲得超2個贊
python中的list和array的不同之處
python中的list是python的內置數據類型,list中的數據類不必相同的,而array的中的類型必須全部相同。在list中的數據類型保存的是數據的存放的地址,簡單的說就是指針,并非數據,這樣保存一個list就太麻煩了,例如list1=[1,2,3,'a']需要4個指針和四個數據,增加了存儲和消耗cpu。
numpy中封裝的array有很強大的功能,里面存放的都是相同的數據類型
list1=[1,2,3,'a'] print list1 a=np.array([1,2,3,4,5]) b=np.array([[1,2,3],[4,5,6]]) c=list(a) # array到list的轉換 print a,np.shape(a) print b,np.shape(b) print c,np.shape(c)
運行結果:
[1, 2, 3, 'a'] # 元素數據類型不同,并且用逗號隔開 [1 2 3 4 5] (5L,) # 一維數組,類型用tuple表示 [[1 2 3] [4 5 6]] (2L, 3L) [1, 2, 3, 4, 5] (5L,)
創建:
array的創建:參數既可以是list,也可以是元組.使用對應的屬性shape直接得到形狀
a=np.array((1,2,3,4,5))# 參數是元組 b=np.array([6,7,8,9,0])# 參數是list c=np.array([[1,2,3],[4,5,6]])# 參數二維數組 print a,b, c.shape()
也可以直接改變屬性array的形狀,-1代表的是自己推算。這里并不是T, reshape(())也可以
c = np.array([[1, 2, 3, 4],[4, 5, 6, 7], [7, 8, 9, 10]]) c.shape # (3L, 4L) c.shape=4,-1 //c.reshape((2,-1)) c <pre style="box-sizing: border-box; overflow: auto; font
添加回答
舉報