Python列表的浅拷贝与深拷贝怎么实现

976
2024/5/25 15:28:52
栏目: 编程语言
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

Python中可以使用copy模块中的copy()方法来实现列表的浅拷贝和深拷贝。

  1. 浅拷贝:浅拷贝会创建一个新的列表对象,但是其中的元素仍然是原列表中元素的引用。可以使用copy()方法来实现浅拷贝。
import copy

# 原列表
original_list = [1, 2, [3, 4], 5]
# 浅拷贝
shallow_copy_list = copy.copy(original_list)

original_list[2][0] = 6

print(original_list)  # [1, 2, [6, 4], 5]
print(shallow_copy_list)  # [1, 2, [6, 4], 5]
  1. 深拷贝:深拷贝会创建一个新的列表对象,并且其中的元素也会进行递归地拷贝,不再是原列表中元素的引用。可以使用copy()方法的深拷贝版本deepcopy()来实现深拷贝。
import copy

# 原列表
original_list = [1, 2, [3, 4], 5]
# 深拷贝
deep_copy_list = copy.deepcopy(original_list)

original_list[2][0] = 6

print(original_list)  # [1, 2, [6, 4], 5]
print(deep_copy_list)  # [1, 2, [3, 4], 5]

通过上述代码示例可以看出,浅拷贝只是拷贝了原列表的引用,深拷贝则是完全复制了原列表的值。

辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读: 如何在ubuntu中使用Python