copy.copy()与copy.deepcopy()的详解

copy.copy()

元组和列表调用这个方法效果也不一样。

元组的效果:

a = [1,2,3]
b = [4,5,6]
c = (a,b)
e = copy.copy(c)

copy.copy()与copy.deepcopy()的详解

可以看到:e和c是指向了同一个地址。

列表的效果:

copy.copy()与copy.deepcopy()的详解

可以看到:c和e指向了不同的地址,但是c和e里面的内容是指向了相同的地址

copy.copy()与copy.deepcopy()的详解

copy.deepcopy()

这个是深拷贝,并且是递归的形式拷贝的

元组的效果:

copy.copy()与copy.deepcopy()的详解

copy.copy()与copy.deepcopy()的详解

可以看到:它是把所有的内容都进行了了深拷贝

列表的效果:

copy.copy()与copy.deepcopy()的详解

可以看到:它是把所有的内容都进行了了深拷贝

总结:copy.deepcopy()在元组和列表的嵌套上的效果是一样的,都是进行了深拷贝(递归的)

上一篇:Windows Community Toolkit 4.0 - DataGrid - Overview


下一篇:Windows Community Toolkit 3.0 - UniformGrid