2012-05-09 38 views
0

我已經在計算機科學課上了解了關於多維數組的記錄&數組的記錄,但我不確定如何在Python中實現它。我正在考慮使用一組記錄,因爲它可以讓我在一條記錄中擁有不同的數據類型,但同時我認爲多維數組在Python中學習也很好。如何在Python中實現多維數組或數組記錄?

我已經google了一下&我已經找到了numpy,但我不確定在numpy中使用哪個函數。我看到一個元組,但我並不熱衷於使用它,因爲元組無法修改。

我正在使用Python 3.2,但我並不介意使用Python 2.7。

+0

通過記錄數組,您指的是我假設的類的數組。 – jamylak

+0

列表有什麼問題? – aquavitae

+0

@aquavitae我只是想知道除了使用列表還有其他選項。我正在努力學習新的東西。 –

回答

7

取決於你想如何與他們交互。考慮使用Numpy。具體來說,看看N-Dimensional array。它爲操作和比較提供了豐富的API。

如果numpy感覺過度殺傷,可以使用簡單元組/列表實現多數組。

multi_array = [ 
    [1, 2, 3, 4, 5], 
    [6, 7, 8, 9, 10] 
] 

>>> multi_array[0][0] 
>>> multi_array[1][4] 

舉個例子,以multi_array轉換成numpy的ndarray

import numpy as np 
np.ndarray((2, 5), buffer=np.array(multi_array), dtype=int) 

注意ndarray希望,因爲它是第一個參數shape。這意味着您在創建之前需要知道數組的維數。改變ndarray的尺寸被稱爲'重塑'。

+1

Numpy的+1。使用常規維度的多維數組Numpy不是一個過度殺傷。 – eumiro

1

不確定您的意思是「記錄」,但您可以使用列表列表來表示二維數組。閱讀docs瞭解更多信息。