2013-07-25 58 views
2

除了不同的訪問方法(例如[1,2]而不是[1][2]來訪問第二行和第三列中的元素),python中多維數組和嵌套列表之間有什麼區別?爲什麼兩個數據結構都是必需的多維數組與python中的嵌套列表

+1

區別在於:嵌套列表存在於python標準庫中,而不是多維數組。 – sloth

回答

6

Python沒有 a 多維數組類型。它只有列表。

numpy(第三方Python擴展)確實有數組類型,而這些服務是圖書館內的一個專門的功能,在同質序列,即快速的基於C-數學運算。

使用標準的Python list類型,將其中一個放入另一箇中會創建一個嵌套結構,可以使用來模擬多維結構。您嵌套[index]項目訪問,[1][42]首先檢索外部列表的第二個元素,然後檢索第二個元素的第43個元素。

numpy陣列是專門結構,其多個維度顯式建模爲主要類型的一部分,而不是嵌套陣列內部的陣列,這意味着它們可以支持在[index]語法,其中index進來的形式的多個尺寸的尋址在技​​術上是一個元組。

Python做有一維array type,即,像numpy陣列,型號同質C型序列。

+0

不完全正確:http://docs.python.org/2/library/array.html – hivert

+0

@hivert:但這不是** multidimensional **。 –