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

python检查列表中是否已经存在坐标,python,list,multidimensional-array,Python,List,Multidimensional Array,这项工作是为了一项任务。我正在使用一个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 我查找附近邻居的代码是: def check_neighbours(Alist, node): nodes

这项工作是为了一项任务。我正在使用一个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
我查找附近邻居的代码是:

def check_neighbours(Alist, node):
        nodes = []
        for i in range(0,2):
                for j in range(0,2):
                        x = node[0]+i
                        y = node[1]+j
                        if x>=0 and y>=0 and (i!=0 or j!=0) and Alist[x][y]>0:
                                nodes.append([x, y])
我将每个访问的坐标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 = []
nodes.append([1,1])
nodes.append([2,2])
nodes.append([3,3])

[1,1] in nodes
# True

[1,3] in nodes
# False
我对你的问题不是很清楚,所以这可能会被取消


也就是说,因为要添加到
节点
列表中,它必须是前一个节点右侧的一列、下方的一列或两列。由于您只考虑右侧和下方的节点(
范围(0,2)
),因此列表中永远不会出现重复的节点。

根据构造条件的方式(即,
i!=0或j!=0
)变量
节点
将永远不会包含相同的坐标。当然,只要我们讨论的是
范围内的
节点
变量。