今天在学字典的时候,看到了深拷贝这个概念,书上没讲。

在复制字典的时候,如果直接赋值,只是复制了内存地址,一个改变,另一个也会变。

浅拷贝的话,也就是xxx.copy(),的确是复制了一份,但是这也有他的问题,就是这个字典里面的元素如果也是一个字典,那么它里面的这个元素是不会被copy的,而只是复制了内存地址。

要想完全拷贝的话,要使用深拷贝,也不是很复杂,类似于下面这样

import copy

..........

english = {.........}
english2 = copy.deepcopy(english)

这样就完全复制了一份一模一样的副本,修改原字典的子元素也不会使新字典的子元素发生改变

你也可能喜欢

发表评论