python - 更新 python 中的二维数组

size = 10
    table = [[0] * size] * size
    for iter in range(size):
        table[iter][iter] = 9

    for iter in range(size):
        print(table[iter])

我试图使所有对角线元素为 9,但它使所有元素为 9。

回答1

尝试使用嵌套列表推导来初始化 table:

size = 10
table = [[0 for _ in range(size)] for _ in range(size)]
for i in range(size):
    table[i][i] = 9
for row in table:
  print(row)

输出:

[9, 0, 0, 0, 0, 0, 0, 0, 0, 0]
[0, 9, 0, 0, 0, 0, 0, 0, 0, 0]
[0, 0, 9, 0, 0, 0, 0, 0, 0, 0]
[0, 0, 0, 9, 0, 0, 0, 0, 0, 0]
[0, 0, 0, 0, 9, 0, 0, 0, 0, 0]
[0, 0, 0, 0, 0, 9, 0, 0, 0, 0]
[0, 0, 0, 0, 0, 0, 9, 0, 0, 0]
[0, 0, 0, 0, 0, 0, 0, 9, 0, 0]
[0, 0, 0, 0, 0, 0, 0, 0, 9, 0]
[0, 0, 0, 0, 0, 0, 0, 0, 0, 9]

相似文章

随机推荐

最新文章