#arrays #python-3.x #matrix #multidimensional-array
#массивы #python-3.x #матрица #многомерный-массив
Вопрос:
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?
Комментарии:
1. Это подозрительно похоже на домашнее задание.
2. Кроме того, ваша задача не может быть решена, если вы не укажете, что вы подразумеваете под «расстоянием». Существует несколько мер расстояния, на какую из них вы ссылаетесь?
3. Кроме того, я думаю, что вы неправильно используете термин «матрица» здесь. Да, вы храните его в 2D-массиве, но это не делает его «матрицей» в математическом смысле matrix math. То, что вы пытаетесь выполнить здесь, называется «диаграммой Вороного». ( en.wikipedia.org/wiki/Voronoi_diagram )