对(引用类型)列表*重复的坑的理解。
* —>list
重复操作,将本列表元素重复n次,返回新的列表。
x=[[1,2,3]]*3 print(x) x[0][1]= 20 print(x) x[0][1]=200 print(x)
输出结果:
[[1, 2, 3], [1, 2, 3], [1, 2, 3]]
[[1, 20, 3], [1, 20, 3], [1, 20, 3]]
[[1, 200, 3], [1, 200, 3], [1, 200, 3]]
y=[1]*5 y[0]=6 y[1]=7 print(y)
输出结果:
[6, 7, 1, 1, 1]
下面是自己对(引用类型)列表list * 重复的实现原理:
观察上面测试的结果:
修改了x元素里 123房间对应的内存地址里的数据,
下面房间里数值123都会随之改变。