import copy
# 创建一个简单的列表
original_list = [1, 2, [3, 4], 5]
# 浅拷贝 (shallow copy)
shallow_copied_list = copy.copy(original_list)
# 深拷贝 (deep copy)
deep_copied_list = copy.deepcopy(original_list)
# 修改原始列表中的嵌套列表
original_list[2][0] = 'modified'
print("Original list:", original_list)
print("Shallow copied list:", shallow_copied_list)
print("Deep copied list:", deep_copied_list)
copy.copy): 只复制了对象的第一层,对于嵌套的对象(如列表中的子列表),仍然共享同一引用。因此,修改嵌套对象会影响浅拷贝后的对象。copy.deepcopy): 完全复制了整个对象及其所有嵌套对象,因此修改原始对象中的嵌套对象不会影响深拷贝后的对象。在上面的代码中,我们创建了一个包含嵌套列表的 original_list,然后分别进行了浅拷贝和深拷贝。接着,我们修改了原始列表中的嵌套列表,并打印出三个列表的内容以展示浅拷贝和深拷贝的区别。
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站