擅长:python、mysql、java
<p>这绝对是纽比的申请!它不仅可以加快代码的速度,还可以大大简化代码,因为索引和比较已经由NumPy处理。你将不得不阅读一些教程来学习NumPy只是一些提示,让你在这种情况下。在</p>
<p>通常,我只需要从<code>numpy.ndarray</code>派生来定义一个自定义数组类,但是您声明您确实需要<code>data</code>属性,这与<code>numpy.ndarray.data</code>冲突。你的课简化为</p>
<pre><code>class Table(object):
def __init__(self, xsize=1, ysize=1, zsize=1):
self.data = numpy.zeros((xsize, ysize, zsize))
def __getitem__(self, key):
return self.data[key]
def __setitem__(self, key, value):
self.data[key] = value
def resize(self, xsize=1, ysize=1, zsize=1):
# This only works for increasing the size of the data,
# but is easy do adapt to other cases
newdata = numpy.zeros((xsize, ysize, zsize))
shape = self.data.shape
newdata[:shape[0], :shape[1], :shape[2]] = self.data
self.data = newdata
</code></pre>
<p>比较代码简化为</p>
^{pr2}$
<p>而且速度也会快得多!在</p>