使用python在身份矩阵中填充几个0

时间:2019-01-18 06:45:21

标签: python algorithm matrix

我想用几个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

2 个答案:

答案 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的关系)