首頁 >後端開發 >Python教學 >python數組和列表區別

python數組和列表區別

(*-*)浩
(*-*)浩原創
2019-06-25 15:45:4729054瀏覽

python中的list是python的內建資料類型,list中的資料類別不必相同的,而array的中的類型必須全部相同。在list中的數據類型保存的是數據的存放的地址,簡單的說就是指針,並非數據,這樣保存一個list就太麻煩了,例如list1=[1,2,3,'a']需要4個指針和四個數據,增加了存儲和消耗cpu。 numpy中封裝的array有很強大的功能,裡面存放的都是相同的資料類型

python數組和列表區別

#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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn