Python3 copy — 对象复制
在Python中,对象复制通常可以通过内置的copy
模块来实现。copy
模块提供了copy
函数进行浅复制,以及deepcopy
函数进行深复制。
浅复制(copy
): 复制对象本身,但不复制对象内部的子对象。
深复制(deepcopy
): 复制对象及其内部的所有子对象。
以下是使用copy
模块的例子:
import copy
# 浅复制示例
original_list = [1, 2, 3, [4, 5]]
copied_list = copy.copy(original_list)
original_list[3][0] = "changed"
print(original_list) # 输出: [1, 2, 3, ['changed', 5]]
print(copied_list) # 输出: [1, 2, 3, [4, 5]]
# 深复制示例
original_dict = {1: [2, 3], 2: [4, 5]}
deep_copied_dict = copy.deepcopy(original_dict)
original_dict[1][0] = "changed"
print(original_dict) # 输出: {1: [‘changed’, 3], 2: [4, 5]}
print(deep_copied_dict) # 输出: {1: [2, 3], 2: [4, 5]}
在这个例子中,我们创建了一个列表和一个字典,并分别对它们进行了浅复制和深复制。我们修改了原始列表中嵌套列表的一个元素,并观察了浅复制和深复制的结果。可以看到浅复制的副本在这种情况下受到影响,而深复制的副本则保持原样。
评论已关闭