python中的copy和deepcopy()

 

结论:如果是可变类型如果是用copy.copy(a)的话则就是只是深拷贝外边的一层里边的一层列表就不是深拷贝了,就是直接和a的列表中的内层列表的id相同了
a=[[1,2],3,4]
d=copy.copy(a)

同理如果是不可变类型tuple的话就一层也不深拷贝

a=((1,2),3,4)
d=copy.copy(a)
则d和a的id就相同了

当然如果是深拷贝的话就是全部拷贝 就是所有的id都不相同了
d=copy.deepcopy(a)

则id(a)!=id(d)

 

posted @ 2020-01-03 15:10  chaiyinlei  阅读(157)  评论(0)    收藏  举报