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]]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值