当数组索引超出范围时忽略

时间:2015-11-11 15:18:38

标签: python matrix indexing indexoutofboundsexception

我想索引很多python矩阵来对相应的元素进行计算(主要是点积)。 我有一个问题是使用一个矩阵的非零值来索引具有较少列的矩阵 - 它会抛出错误,表明索引超出范围。 有没有办法告诉python不关心索引何时超出范围 - 忽略那些并且只处理那些在边界内的? 代码是这样的:

for u in range (n): # u = row:
    U[R[u,:]!=0, u] ...

U的维数是(dxn),R的维数是(n×m),其中m> 1。 n> d(通常)。

我希望在python中内置一些东西,以便在索引超出范围时忽略它?

1 个答案:

答案 0 :(得分:0)

我刚刚意识到我可以找到矩阵U的形状并使用它来对R的索引进行绑定,如下所示:

n,m = U.shape
U[R[u,0:n]!=0, u]

这意味着它永远不会超出范围,因为我们只看到在U的范围内的R部分