我试图理解python中浅层复制的代码操作背后的含义
创建了一个对象
o = [1,12,32,423,42,3,23,[1,2,3,4]]
创建一个浅拷贝并分配给一个变量
r = copy.copy(o)
print(r)
[1, 12, 32, 423, 42, 3, 23, [1, 2, 3, 4]]
然后尝试在两个不同的索引中分配新值
o[1]="ff"
o[7][1]="kk"
print(r)
[1, 12, 32, 423, 42, 3, 23, [1, 'kk', 3, 4]]
所以根据浅拷贝,它在子变量中创建父变量的引用,所以当我们更改父变量时,它反映在子变量中,但这里的引用只在子列表中更改。为什么会这样?你知道吗
试着通过运行下面的代码(在修改之后)来观察发生了什么:
另外,阅读其他人发布的链接。你知道吗
相关问题 更多 >
编程相关推荐