对(引用类型)列表*重复的坑的理解。

对(引用类型)列表*重复的坑的理解。

*   —>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都会随之改变。



猜你喜欢

转载自blog.csdn.net/yzzsjc2008/article/details/79687023