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)
如果
var1 = (x,y)
,并且var2 = z
,则可以使用我认为您可以简单地用自己的新类来子类化NumPy矩阵类型,并重载
__getitem__()
nethod以接受元组。像这样:并使用
__setitem__()
执行类似的操作。在我不确定
__getitem__()
是否像我在这里展示的那样接受多个参数,或者它是否需要一个元组,或者什么。我写这个答案的时候没空,抱歉。在{I{I>直接写了一个基类来编辑。我已经有一段时间没有在Python中使用子类化了。在
编辑:我只是看了一下被接受的答案。完全是这样做的。如果有人觉得这很有教育意义,我就不谈了,但简单的方法是最好的。在
相关问题 更多 >
编程相关推荐