Python 3中初始化数组的2方法之间的区别

时间:2019-02-11 00:38:05

标签: python python-3.x

您能否请我向我解释这两种说法之间的区别:

l = [[None] * 3] * 4
for i in range(4):
    for j in range(3):
        if i == 0:
            l[i][j] = 0
print(l)


M = [[None] * 3 for _ in range(4)]
for i in range(4):
    for j in range(3):
        if i == 0:
            M[i][j] = 0
print(M)

输出:

[[0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0]] # first statement
[[0, 0, 0], [None, None, None], [None, None, None], [None, None, None]] # second statement

0 个答案:

没有答案