🐍 Python 列表赋值 & 拷贝总结
🐍 Python 列表赋值 & 拷贝总结
1. 赋值(=)
只是创建新名字,指向同一个对象
修改任意一方,另一方都会跟着变
1 | a = [1, 2, 3] |
2. 浅拷贝(copy.copy()
)
新建外层容器,但里面的子对象仍然共享引用
修改子对象内部 → 会影响原对象
替换整个子对象 → 脱钩,不影响原对象
示例 1:修改子元素(会影响)
1 | import copy |
示例 1:替换整个子列表(不会影响)
1 | a = [[1, 2, 3], [3, 4, 5]] |
3. 深拷贝(copy.deepcopy()
)
递归地复制所有层次对象
完全独立,互不影响
1 | import copy |