在嵌套的多维数组中搜索多个值

时间:2018-10-23 23:58:13

标签: python arrays numpy

我创建一个数组:

nMap = [[[x,y, math.inf, True]for y in range(width)]for x in range(height)]
nMap = np.array(nMap)

然后我获取该数组并将值的距离设置为0

nMap[0][0][2] = 0

此后,我使用for循环仅在将数组中的所有值都设置为false时运行

while (np.all(nMap[:,:,3]) == False):

然后我创建一个数组,该数组返回不等于false的所有节点的坐标

tempNode = np.where(nMap[:,:,3] != False

最后,我使用此节点创建距离值最小且值等于False的单点坐标

minNode = np.where((nMap[:,:,2] == np.amin(nMap[tempNode[0][:][0],tempNode[0][:][1],2])))

然后,我向距离最小的点的邻居分配一个累积距离,并在nMap中将minNode坐标设置为False。该程序每次都应该循环,但是当我测试代码时,它将minNode设置为0,0 0,1 0,2 ...但是当到达列的末尾时,它通过将minNode设置为0,1无限循环。 。我的问题是,是否有办法找到一个点的布尔值和最小距离,并能够使用这些坐标。预先谢谢你

0 个答案:

没有答案