首页 > 解决方案 > 查找矩阵中每个点之间的距离

问题描述

def create_zero_matrix(n,m):
    return [[0 for i in range(m)] for j in range(n)]

def m_tight_print(m):
    for i in range(len(m)):
        line = ''
        for j in range(len(m[0])):
            line += str(m[i][j])
        print(line)


def pd_map(r,c,sites):
    blank = create_zero_matrix(r,c)
    for count, site in enumerate(sites):
        blank[site[0]][site[1]] = count #locating the shops


您好,我如何计算矩阵中每个点与特定点的距离,例如 [1,3](点 0)或 [4,7](点 1)或 [7,2](点 2)和更改该特定值以使其显示最接近该特定坐标的点?

>>> pprint(pizzaMap)
[[0, 0, 0, 0, 0, 0, 0, 'X', 1, 1]
 [0, 0, 0, 0, 0, 0, 0, 1, 1, 1]
 [0, 0, 0, 0, 0, 0, 0, 1, 1, 1]
 [0, 0, 0, 0, 0, 0, 'X', 1, 1, 1]
 ['X', 0, 0, 0, 0, 0, 1, 1, 1, 1]
 [2, 2, 2, 2, 2, 'X', 1, 1, 1, 1]
 [2, 2, 2, 2, 2, 2, 1, 1, 1, 1]
 [2, 2, 2, 2, 2, 2, 2, 1, 1, 1]
 [2, 2, 2, 2, 2, 2, 2, 1, 1, 1]
 [2, 2, 2, 2, 2, 2, 2, 'X', 1, 1]]

以上是测试用例,但我只能从我的代码中得到它。

[[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
[0, 0, 0, 0, 0, 0, 0, 0, 0, 1]
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
[0, 0, 2, 0, 0, 0, 0, 0, 0, 0]
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]]
```.
I tried to use numpy.argwhere() but in the end I could not do it. What code must I use such that I am able to get my test case?

标签: arrayspython-3.xmatrixmultidimensional-array

解决方案


推荐阅读