补充_python深浅copy

name = ["liming","lilongfei","duanwenchao",["tangeng",11],"yuxiaobin"]
name2 = name.copy()   #浅copy,只copy第一层
print(name)
print(name2)

name[1] = "haha"   #当修改name的第一层时,name2不发生变化
name[3][1] = 22    #当修改name的第二层时,name2的第二层也发生相应的变化,原因是因为浅copy在copy第二层时,只是copy了他的内存地址
print(name)
print(name2)

#浅copy第二种
import copy
name = ["liming","lilongfei","duanwenchao",["tangeng",11],"yuxiaobin"]
name2 = copy.copy(name) 

#浅copy第三种
name2 = name[:]

#浅copy第四种
name2 = list(name)

#深copy,相当于做了复制,可以任意修改,不会影响其他副本
import copy
name = ["liming","lilongfei","duanwenchao",["tangeng",11],"yuxiaobin"]
name2 = copy.deepcopy(name) 
发布了124 篇原创文章 · 获赞 19 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/lm236236/article/details/96484055