在Python中,可以使用copy.deepcopy()
函數來進行深度拷貝。
copy.deepcopy()
函數可以在拷貝對象時,遞歸地拷貝所有嵌套的對象,包括嵌套的列表、字典、集合等。
下面是使用copy.deepcopy()
函數進行深度拷貝的示例代碼:
import copy
# 定義一個嵌套的列表
original_list = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
print("原始列表:", original_list)
# 使用深度拷貝進行拷貝
copied_list = copy.deepcopy(original_list)
print("拷貝后的列表:", copied_list)
# 修改原始列表的值
original_list[0][0] = 10
print("修改后的原始列表:", original_list)
print("拷貝后的列表不受影響:", copied_list)
在以上示例中,我們首先定義了一個嵌套的列表original_list
。然后使用copy.deepcopy()
函數進行深度拷貝,將原始列表拷貝到copied_list
。接著,我們修改了原始列表的一個值,發現拷貝后的列表不受影響,仍保持原始的值。
值得注意的是,深度拷貝可能會比淺拷貝的效率要低一些,因為需要遞歸地遍歷和拷貝所有嵌套的對象。在某些情況下,如果只需要拷貝一層對象,可以使用copy.copy()
函數進行淺拷貝。