我想用几个0填充一个单位矩阵。我有X,Y
个坐标[(0, 0), (0, 1), (0, 2), (1, 2), (1, 3), (2, 3)]
,这些坐标应为0,其他坐标应为1。
这是最短路径的问题。该算法将输出最短路径作为坐标
[(0, 0), (0, 1), (0, 2), (1, 2), (1, 3), (2, 3)]
如何在python中做到这一点?
样本输入矩阵[4][4]
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
样本输出矩阵[4][4]
0 1 1 1
0 1 1 1
0 0 1 1
1 0 0 1
答案 0 :(得分:1)
只需遍历坐标数组中的索引,并将要在这些索引处修改的数组的值分配为0,就像这样:
for i in coordinatesArray:
toModify[i[0]][i[1]] = 0
如果要修改的数组尚未充满,请首先使用for循环将其添加:
for i in range(x):
toModify.append(y * [1])
答案 1 :(得分:0)
迭代所需的坐标,例如:
for row, column in coordinates:
ones[row][column] = 0
如果您还没有矩阵,则可以使用列表推导,这样您只需要迭代一次(在这种情况下,性能取决于1与0的关系)