Python 什么';在二维数组中遍历特定单元的所有相邻单元的最有效方法是什么?

Python 什么';在二维数组中遍历特定单元的所有相邻单元的最有效方法是什么?,python,list,Python,List,我试图找出一个单元格的相邻单元格(I,j);在二维阵列中,它将是(i,j+1),(i,j-1),(i-1,j)和(i+1,j) 我的代码实现了这一点: 这是我脑海中的想法,但它是有缺陷的。例如,你可以这样做 dx = [1,1,1,0,-1,-1,-1,0] dy = [-1,0,1,1,1,0,-1,-1] i = 2; j = 5 #The cell you want to have the neighbors N = 10; M = 10 # Size of your array neig

我试图找出一个单元格的相邻单元格(I,j);在二维阵列中,它将是(i,j+1)(i,j-1)(i-1,j)(i+1,j

我的代码实现了这一点:


这是我脑海中的想法,但它是有缺陷的。

例如,你可以这样做

dx = [1,1,1,0,-1,-1,-1,0]
dy = [-1,0,1,1,1,0,-1,-1]
i = 2; j = 5 #The cell you want to have the neighbors
N = 10; M = 10 # Size of your array
neighbors = [] #Neighbors list
for x in dx:
    for y in dy:
        if i+x > 0 and i+x<N and j+y > 0 and j+y<M:
            neighbors.append(array[i+x,j+y])
dx=[1,1,1,0,-1,-1,-1,0]
dy=[-1,0,1,1,1,0,-1,-1]
i=2;j=5#你想要邻居的单元
N=10;M=10#数组大小
邻居=[]#邻居列表
对于dx中的x:
对于y在dy中:

如果i+x>0,i+x 0和j+y,当你“找到”一个时,你想做什么?这个问题与我正在问的问题有什么关系?因为它可能会影响答案(即wrt“效率”)。
dx = [1,1,1,0,-1,-1,-1,0]
dy = [-1,0,1,1,1,0,-1,-1]
i = 2; j = 5 #The cell you want to have the neighbors
N = 10; M = 10 # Size of your array
neighbors = [] #Neighbors list
for x in dx:
    for y in dy:
        if i+x > 0 and i+x<N and j+y > 0 and j+y<M:
            neighbors.append(array[i+x,j+y])