Python 深拷贝方法详解:复制对象及其所有子对象
深拷贝(deep copy)是指在内存中创建一个全新的对象,与原对象内容相同但是在内存中地址不同。深拷贝复制的是对象及其所有子对象,因此这样的操作是比较耗时的,但是可以保证原对象不受到影响。
以下是 Python 中实现深拷贝的几种方法:
- 使用 copy.deepcopy() 函数
import copy
new_list = copy.deepcopy(old_list)
- 使用 pickle 模块
import pickle
new_list = pickle.loads(pickle.dumps(old_list))
- 使用 numpy 库的 copy() 函数,适用于数组、矩阵等数据结构
import numpy as np
new_array = np.copy(old_array)
- 使用 list() 函数
new_list = list(old_list)
需要注意的是,以上方法都只适用于可变对象,对于不可变对象(如数字、字符串、元组等)进行深拷贝是没有意义的。
原文地址: https://www.cveoy.top/t/topic/lV2W 著作权归作者所有。请勿转载和采集!