當然,你可以有嵌套表來表示多維數組,但似乎昂貴...Python的多維數組作爲一個單一的列表
[[0, 1], [2, 3]]
是否有某種方式來「編碼」和「解碼」的座標成一個單一的數字,並使用該數字來查找相應的元素?
[0, 1, 2, 3]
這需要與n維,而不是兩個,和最好的工作,我能想出的編碼是:
def getcellindex(self, location):
cindex = 0
cdrop = self.gridsize # where self.gridsize is the number of cells
for index in xrange(self.numdimensions): # where self.numdimensions is the number of dimensions
# where self.dimensions is a tuple of the different sizes of the corresponding dimension
cdrop /= self.dimensions[index]
cindex += cdrop * location[index]
return cindex
有很可能的方式來優化這一點,但更重要的是,我該如何扭轉這一過程?而且,這個功能是否有效?
「似乎昂貴」?這只是過早的優化? – FogleBird 2011-01-18 21:53:00
任何理由不使用numpy? – 2011-01-18 22:04:27