python中的list是python的內建資料類型,list中的資料類別不必相同的,而array的中的類型必須全部相同。在list中的數據類型保存的是數據的存放的地址,簡單的說就是指針,並非數據,這樣保存一個list就太麻煩了,例如list1=[1,2,3,'a']需要4個指針和四個數據,增加了存儲和消耗cpu。 numpy中封裝的array有很強大的功能,裡面存放的都是相同的資料類型
#python本身並沒有陣列類型,但他的Numpy庫中有數組類型。 推薦學習:Python影片教學)
二者都可以用來處理多維數組。
Numpy中的ndarray物件用於處理多維數組,它作為一個快速而靈活的大數據容器。 Python列表可以儲存一維數組,透過列表的巢狀可以實現多維數組。
2儲存效率和輸入輸出效能不同。
Numpy專門針對數組的操作和運算進行了設計,存儲效率和輸入輸出性能遠優於Python中的嵌套列表,數組越大,Numpy的優勢就越明顯。
3元素資料型態。
通常,Numpy數組中的所有元素的類型都必須相同的,而Python列表中的元素類型是任意的,所以在通用性能方面Numpy數組不及Python列表,但在科學計算中,可以省掉很多循環語句,程式碼使用方面比Python列表簡單的多。
array的建立
Numpy陣列建立時,參數既可以是list,也可以是元組。例如:
>>> a=np.array((1,2,3))#参数是tuple >>> b=np.array([6,7,8])#参数是list >>> c=np.array([[1,2,3],[4,5,6]])#参数是二维list
除此之外,還可以使用numpy提供的其他方法建立數組,例如:
>>> arr1=np.arange(1,10,1) >>> arr2=np.linspace(1,10,10)
np.arange(a,b,c)表示產生從a-b不包含b,間隔為c的一個array,資料型別預設是int32。但是linspace(a,b,c)表示的是把a-b平均分成c分,它就包含b。
更多Python相關技術文章,請造訪Python教學欄位學習!
以上是python數組和列表區別的詳細內容。更多資訊請關注PHP中文網其他相關文章!