擅长:python、mysql、java
<p>我认为您可以简单地用自己的新类来子类化NumPy矩阵类型,并重载<code>__getitem__()</code>nethod以接受元组。像这样:</p>
<pre><code>class SpecialMatrix(np.matrix):
def __getitem__(self, arg1, arg2, arg3=None):
try:
i, j = arg1
k = arg2
assert(arg3 is None)
x = super(SpecialMatrix, self).__getitem__(i, j, k)
except TypeError:
assert(arg3 is not None)
return super(SpecialMatrix, self).__getitem__(arg1, arg2, arg3)
</code></pre>
<p>并使用<code>__setitem__()</code>执行类似的操作。在</p>
<p>我不确定<code>__getitem__()</code>是否像我在这里展示的那样接受多个参数,或者它是否需要一个元组,或者什么。我写这个答案的时候没空,抱歉。在</p>
<p>{I{I>直接写了一个基类来编辑。我已经有一段时间没有在Python中使用子类化了。在</p>
<p>编辑:我只是看了一下被接受的答案。完全是这样做的。如果有人觉得这很有教育意义,我就不谈了,但简单的方法是最好的。在</p>