如何在Python中拷贝一个对象?
作者:野牛程序员:2023-12-13 15:28:59python阅读 2666
在Python中,你可以使用copy
模块来拷贝对象。有两种常见的拷贝方式:浅拷贝和深拷贝。
浅拷贝(copy.copy
)会创建一个新对象,然后将原始对象的元素(如列表、字典等)复制到新对象中。但是,如果原始对象包含嵌套的可变对象(如列表中嵌套列表),则新对象中的嵌套对象仍然是原始对象中相同的对象的引用。
深拷贝(copy.deepcopy
)会创建一个新对象,并递归地复制原始对象及其所有嵌套对象,因此新对象与原始对象完全独立,对其中一个对象的修改不会影响另一个对象。
以下是一个简单的例子:
import copy # 原始对象 original_list = [1, 2, [3, 4]] # 浅拷贝 shallow_copy = copy.copy(original_list) # 深拷贝 deep_copy = copy.deepcopy(original_list) # 修改原始对象 original_list[2][0] = 'X' # 打印结果 print("原始对象:", original_list) print("浅拷贝:", shallow_copy) print("深拷贝:", deep_copy)
对于简单的对象,浅拷贝和深拷贝可能没有明显的区别。在处理复杂对象结构时,深拷贝通常更安全。
野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892
