python检查lis中是否已经存在坐标

2024-10-02 18:16:21 发布

您现在位置:Python中文网/ 问答频道 /正文

这项工作是为了分配任务。我正在处理一个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])

Tags: andpath路径密码示例列表isfunction
1条回答
网友
1楼 · 发布于 2024-10-02 18:16:21

怎么办

nodes = []
nodes.append([1,1])
nodes.append([2,2])
nodes.append([3,3])

[1,1] in nodes
# True

[1,3] in nodes
# False

我对你的问题不太清楚,所以这可能会取消。在

也就是说,因为为了添加到nodes列表中,它必须是前一个节点的右侧一个列、下面一个列或两者都是。由于只考虑右边和下面的节点(range(0,2)),所以列表中永远不会有重复的节点。在

相关问题 更多 >