许多人都见过这样一个游戏,让10个人通过耳边的悄悄话逐个传递一个信息,我们会发现在传递的过程中信息不断被修改,到了最后已经面目全非。今天小编就向大家介绍在python中的拷贝模块copy模块,它既可以仅拷贝对象本身,又可以全部拷贝,下面我们来看看它是怎么拷贝的吧。
1、浅拷贝 copy 复制0及1级内存区
import copy list1 = [1,2,[3,4]] print(list1) list2 = copy.copy(list1) print(list2) # list1.append(5) # print(list1,list2) list1[2].append(3.5) print(list1,list2)
2、深拷贝 deepcopy 复制每级内存区
import copy list1 = [1,2,[3,4]] print(list1) list2 = copy.deepcopy(list1) print(list2) # list1.append(5) # print(list1,list2) list1[2].append(3.5) print(list1,list2)
以上就是用copy模块拷贝的方法,需要注意的是copy仅拷贝对象本身,而不对中的子对象进行拷贝,故对子对象进行修改也会随着修改。而deepcopy是真正意义上的复制,我们经常说的复制实际上就是deepcopy。大家可以根据自己的需求选择不用的方法。
神龙|纯净稳定代理IP免费测试>>>>>>>>天启|企业级代理IP免费测试>>>>>>>>IPIPGO|全球住宅代理IP免费测试