それぞれに異なる種の2D配列があります。配列からランダムな要素を選び、その要素のすぐ隣にある8つの正方形にそれぞれの種がいくつあるかを数えたいと思います。
ただし、配列を端で折り返したいので、上の行の要素を選択すると、下の行は「隣接」としてカウントされます。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