自学内容网 自学内容网

Python中深拷贝和浅拷贝

# 在Python中,浅拷贝(shallow copy)和深拷贝(deep copy)是两种不同的复制方法,主要用于复制复杂对象(如列表、字典、集合等)。
#
# 浅拷贝:
#
# 浅拷贝会创建一个新的对象,并复制原对象的引用到新对象中。
# 对于不可变对象(如整数、浮点数、字符串、元组),浅拷贝会复制对象本身。
# 对于可变对象(如列表、字典、集合),浅拷贝会复制对象的引用,而不是对象的内容。
# 深拷贝:
#
# 深拷贝会创建一个新的对象,并递归地复制原对象的所有内容到新对象中。
# 对于不可变对象,深拷贝会复制对象本身。
# 对于可变对象,深拷贝会复制对象的内容,而不是对象的引用。
# 以下是一些示例代码,展示了浅拷贝和深拷贝的区别:

import copy

# 浅拷贝示例
original_list = [[1, 2, 3], [4, 5, 6]]
shallow_copied_list = copy.copy(original_list)

# 修改原列表中的子列表
original_list[0][0] = 'X'

print(original_list)  # [['X', 2, 3], [4, 5, 6]]
print(shallow_copied_list)  # [['X', 2, 3], [4, 5, 6]]

# 深拷贝示例
original_list = [[1, 2, 3], [4, 5, 6]]
deep_copied_list = copy.deepcopy(original_list)

# 修改原列表中的子列表
original_list[0][0] = 'X'

print(original_list)  # [['X', 2, 3], [4, 5, 6]]
print(deep_copied_list)  # [[1, 2, 3], [4, 5, 6]]

原文地址:https://blog.csdn.net/qq_38557378/article/details/142639515

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!