1. 程式人生 > >Python中的list與NumPy中array的區別 及相互轉換

Python中的list與NumPy中array的區別 及相互轉換

Python中的list是python的內建資料型別,list中的資料類不必相同的

在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,) 

a=([3.234,34,3.777,6.33])

a為python的list型別

將a轉化為numpy的array:  

np.array(a)

得到型別:array([  3.234,  34.   ,   3.777,   6.33 ])

將a轉化為python的list

a.tolist()