如果我更改使用“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]]
为什么第二个结果不同?