遍历python中没有的遍历列表

时间:2017-10-26 18:13:04

标签: python

如果我更改使用“None”初始化的列表的值,结果似乎与使用其他内容初始化列表时的结果不同。

myList = [[0,0,0],[0,0,0],[0,0,0]]
print(myList)
for i,row in enumerate(myList):
    for j,num in enumerate(row):
        myList[i][j] = 10*i+j
print(myList)

它给出了:

[[0, 0, 0], [0, 0, 0], [0, 0, 0]]
[[0, 1, 2], [10, 11, 12], [20, 21, 22]]

但如果第一行改变了:

myList = [[None] * 3 ] * 3
print(myList)
for i,row in enumerate(myList):
    for j,num in enumerate(row):
        myList[i][j] = 10*i+j
print(myList)

它给出了:

[[None, None, None], [None, None, None], [None, None, None]]
[[20, 21, 22], [20, 21, 22], [20, 21, 22]]

为什么第二个结果不同?

0 个答案:

没有答案