python-浅copy和深copy

匿名 (未验证) 提交于 2019-12-02 22:51:30
  • 直接赋值:其实就是对象的引用(别名)。

  • 浅拷贝(copy):拷贝父对象,不会拷贝对象的内部的子对象。

  • 深拷贝(deepcopy):

dict1 = {'user': 'runoob', 'num': [1, 2, 3]}dict2 = dict1  # 浅拷贝: 引用对象dict3 = dict1.copy()  # 浅拷贝:深拷贝父对象(一级目录),子对象(二级目录)不拷贝,还是引用# 修改 data 数据dict1['user'] = 'root'dict1['num'].remove(1)  #移除num关键字内的1# 输出结果print(dict1)print(dict2)print(dict3)



dict2 其实是 dict1 的引用(别名),所以输出结果都是一致的,dict3 父对象进行了深拷贝,不会随dict1 修改而修改(renoob没变),子对象是浅拷贝所以随 dict1 的修改而修改

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!