我有一个二维数组,每个数组都有不同的物种。我在数组上选择一个随机元素,我想计算每个物种中有多少在紧邻该元素的八个方格中。
但我希望数组在边缘环绕,所以如果我在顶行选择一个元素,底行将被视为“相邻”。j in range (x-1,x+1)
在迭代j 和 y时如何做到这一点?
另外,有没有比if (j!=x or k!=y
直线更优雅的方式来省略我在查看相邻方块时最初选择的元素?
numspec = [0] * len(allspec)
for i in range (0,len(allspec)):
#count up how many of species i there is in the immediate area
for j in range(x-1,x+1):
for k in range(y-1,y+1):
if (j!=x or k!=y):
numspec[hab[i][j]] = numspec[hab[i][j]]+1