这项工作是为了分配任务。我正在处理一个2d数组,到目前为止,我已经找到了一条我想穿过这个数组的路径。数组中还有其他路径,我也希望能够通过它们,但是我不能重用任何路径。我的阵列看起来像:
0,2,4,1,6,0,0
2,0,0,0,5,0,0
4,0,0,0,5,5,0
1,0,0,0,1,1,0
6,5,0,1,0,5,5
0,0,5,1,5,0,0
0,0,0,0,5,0,0
我寻找附近邻居的密码是:
^{pr2}$我将每个访问的坐标x,y附加到一个列表中,这个列表建立了所走的完整路径。以下是输出示例:
inside pathing function
path taken is ['[0, 1]', '[0, 2]', '[0, 3]', '[0, 4]', '[1, 4]', '[2, 4]', '[2, 5]', '[3, 5]', '[4, 5]', '[4, 6]']
由于我搜索邻域的方式(将x和y分开),我想不出一种方法来测试所建立的当前坐标是否已经位于列表中。我认为代码可以放在以下两行之间:
if x>=0 and y>=0 and (i!=0 or j!=0) and Alist[x][y]>0:
nodes.append([x, y])
怎么办
我对你的问题不太清楚,所以这可能会取消。在
也就是说,因为为了添加到
nodes
列表中,它必须是前一个节点的右侧一个列、下面一个列或两者都是。由于只考虑右边和下面的节点(range(0,2)
),所以列表中永远不会有重复的节点。在相关问题 更多 >
编程相关推荐