你是不是一想到复制,就会使用.copy()?
.copy()是浅复制,如果对象是可更改的类型,例如列表或字典,那么副本和原件之间共享内存地址,改变其中一个的元素会影响另一个。如果对象是整数或元组等不可更改的类型,那才是两个独立的对象。
import copy
# 原始列表,包含一个嵌套列表
original_list = [1, 2, [3, 4]]
# 浅复制
shallow_copied_list = original_list.copy()
# 深复制
deep_copied_list = copy.deepcopy(original_list)
print("Original List:", original_list)
# 修改列表
shallow_copied_list[2][0] = 'changed'
# 打印结果
print("Original List:", original_list)
print("Shallow Copied List:", shallow_copied_list)
print("Deep Copied List:", deep_copied_list)