迭代通过2d数组查看邻居,除了边界
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了迭代通过2d数组查看邻居,除了边界相关的知识,希望对你有一定的参考价值。
我有这个代码,我试图迭代一个2d(numpy)dims 300,350数组。我正在查看数组中的每个点[i,j],然后查看它的两个邻居[i + 1,j + 1]等(取决于角度)。我正在观察0度,45度,90度和135度的角度。我的问题是索引第一个i,j(角度= 0度)我将看i,j + 1和i,j-1。由于第一次迭代是在j = 0,因此我得到一个索引错误,因为j-1 = -1。我一直在努力寻找如何规避这个问题的时间。我的代码看起来像这样:
for i in range(trex.shape[0]): # ALL ROWS
for j in range(trex.shape[1]): # ALL COLUMNS
if shape[i,j] == 0: # for 0 degree angles (shape is angles)
if trex[i,j] > trex[i, j+1] and trex[i,j] > trex[i,j-1]: # conditions
np.append(trex_other, trex[i,j])
else:
np.append(trex_other, 0)
我看所有的角度,但这只是我想要它做的一个例子。总结一下,我想在除2d数组周围边界之外的所有点迭代这个2d数组。任何帮助是极大的赞赏!
答案
从1到1的长度迭代
for i in range(1, trex.shape[0]-1): # MOST ROWS
for j in range(1, trex.shape[1]-1): # MOST COLUMNS
...
以上是关于迭代通过2d数组查看邻居,除了边界的主要内容,如果未能解决你的问题,请参考以下文章
基于唯一值对 2D Numpy/CuPy 数组进行更快的迭代
在片段着色器中,为啥我不能使用平面输入整数来索引 sampler2D 的统一数组?