意见箱
恒创运营部门将仔细参阅您的意见和建议,必要时将通过预留邮箱与您保持联络。感谢您的支持!
意见/建议
提交建议

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

来源:恒创科技 编辑:恒创科技编辑部
2024-05-07 14:01:34

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]

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


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

上一篇: Python数组在数据分析中怎么应用 下一篇: NumPy数组的内存映射方法是什么