标签: python list matrix initialization
当我手动声明和初始化列表列表中的所有元素并更改其中一个值时,所做的更改可以视为预期的结果。
a=[[0,0,0],[0,0,0]] a[0][0]=9 print(a)
正如人们期望的那样,输出为[[9,0,0],[0,0,0]]。
但是,当我使用速记符号时,更改第一个列表的第一个元素会更改所有列表的第一个元素。这是代码:
a=[[0]*3]]*2 a[0][0]=9 print(a)
这次,输出为[[9,0,0],[9,0,0]]!
这是怎么回事?