如何用 numpy 函数编写递归搜索?

By simon at 2019-05-15 • 0人收藏 • 55人看过

我正在编写一个递归函数来查找索引对。 在我的例子中,向量 i 和 j 是矩阵中非零元素的 i 和 j 索引。

现在我想找到"唯一"的索引对,这样我就可以按对角线形式排序一个矩阵。 或者至少消除零元素

我用 numpy 写了一个函数。

([0,0,0,1,1,1,1,2,2,2,3,4,4,5,5,6,6,6,7,7,8]) jnp.array ([0,3,4,0,2,4,1,5,2,6,8,3,8,4,5,7,4,6,7,8]) Def iterate (i,j,iter,numbers) : ii,np,where (i iter) jj,np,where (j [ ii ] ! 如果 iter np.amax (i) + 1: iterate (i,j,iter + 1,numbers) else: return numbers except: print ("exception")

如果我的迭代变量超过了 i 中最大值的长度,我希望得到一个返回

Jj,np.where (j [ ii ] ! 号码)
1 个回复 | 最后更新于 2019-05-15
2019-05-15   #1

通过添加一个打印就在... 之后二、我看到了数字是[-1,0],以及:

在[76]中: j [3,4,5] Out [76] : array ([0,2,4])中: j [3,4,5] ! Array ([-1,0]) / usr / local / bin / ipython 3:1: DeprecationWarning: elementwise 比较失败; 这将在未来引发错误。 #! / usr / bin / python3 Out [77] : True

它不喜欢比较一个3元素数组和一个2元素数组。 在过去,它容忍了这种不匹配,但在未来,它将被禁止。

登录后方可回帖

Loading...