python深浅拷贝
1-深浅copy之浅copy
# 需求 # 1-拷贝一下原列表,产生一个新的列表 # 2-想让两个列表完全独立,并且是改操作的独立而不是读操作 list_1 = ['howie','a',[1,2]] list_2 = list_1 list_3 = list_1.copy()
图解
总结:浅拷贝是把原列表第一层的第一层内存地址不加区分完全copy一份给新列表
2-深浅copy之深copy
3-结论
- 深浅拷贝都是对源对象的复制,占用不同的内存空间
- 如果源对象只有一级目录的话,源做任何改动,不影响深浅拷贝对象
- 如果源对象不止一级目录的话,源做任何改动,都要影响浅拷贝,但不影响深拷贝
- 序列对象的切片其实是浅拷贝,即只拷贝顶级的对象
学习没有捷径,需要日积月累的积淀及对技术的热爱。