在Python中有时需要对各种参数进行复制(拷贝)工作,但若简单的用以下代码进行内容复制操作会出现以下问题:
- 在后续对data1的操作会同时改变data的内容。
这是因为此时python中默认此类复制操作为浅拷贝,在系统内data和data1共用同一个内存,导致对data1的改动会映射到data中。
data = data1
解决方法需要利用.copy()函数,其中,
- deep=True 表示深拷贝,即data1和data分别占用内存,此时data和data1相互独立,对data1的改动不会映射到data中;
- deep=False 表示浅拷贝。
data = data1.copy(deep=True)