17.深浅copy

copy函数,list,set,dict有此函数
列表
字典
集合
例如:
s={"name":"caona",
"hobby":{"paly":"music"}
}

s1=s
# 赋值操作,此时s1和s是共享的同一份数据。 其中一个修改另一个也会修改,因为共用的内存地址和值
s2=s.copy()
#浅copy,只copy第一层
# copy一份新数据 ,此时s2和s的第一层数据是不同的两份数据,一个第一层修改,另一个第一层不会发生变化,如果修改第二层数据,则还是同一份数据
import copy
s3=copy.deepcopy(s)
#深copy.无论那一层修改,都是独立的两份数据,如果涉及到完全克隆两份独立数据

猜你喜欢

转载自www.cnblogs.com/xh716/p/11565106.html