首页 > 解决方案 > Python 2d 列表 - 更改元素后,打印输出没有变化

问题描述

我在 python 中创建了一个二维列表并想要更改一个元素。它工作正常,但由于某种原因,使用两种不同的打印方式,我得到了两种不同的结果。通过打印整个数组,我得到了一个零数组。通过显式打印出已更改的元素,我得到了不同的结果:

m = 4
n = 3

a4 = [[0]*m for i in range(n)]

for row in a4:
    for element in row:
        print(element, end=" ")
    print()

print("####")
a4[0][0] = 1
print(a4[0][0])

for row in a4:
    for element in row:
        print(element, end=" ")
    print()

尽管 a4[0][0] 在中间步骤中更改为 1,但两个循环都打印了一个带零的 3x4 数组。这是为什么?

标签: python

解决方案


“i”在哪里声明和修改?我不知道你想怎么做,但下面的代码对我来说很好。

m = 4
n = 3

a4 = [[0]*m for i in range(n)]

for row in a4:
    for element in row:
        print(element, end=" ")
    print()

print("####")
a4[0][0] = 1
print(a4[0][0])

for row in a4:
    for element in row:
        print(element, end=" ")
    print()

推荐阅读