浅拷贝和深拷贝
列表的复制
import copy
#深拷贝和浅拷贝
words=["hello",'good',[100,200,300],'yes',"hi",'ok']
words0 =words #只是一个赋值,不是浅拷贝和深拷贝
words1=words.copy() #浅拷贝,复制数据成为新的地址,但是只复制一层
words2 =copy.copy(words) #浅拷贝,复制数据成为新的地址,但是只复制一层
words3 = copy.deepcopy(words) #深拷贝,不论深度都进行复制
words[2][0]=1
print("%s浅拷贝的数据改变里层的值%s,深拷贝的数据不改变值%s" %(words,words2,words3))
pythontutor.com 可以查看代码执行时地址调用过程