{site_name}

{site_name}

🌜 搜索

Python 中的复制操作是指将一个对象复制到另一个变量中

Python 𝄐 0
python浅copy和深copy,python深浅拷贝的底层理解,python 深浅拷贝案例,python的浅复制,python深拷贝浅拷贝和赋值,简述python中浅拷贝和深
Python 中的复制操作是指将一个对象复制到另一个变量中。Python 中有两种不同类型的复制操作:浅层复制和深层复制。

浅层复制会创建一个新对象,这个新对象具有与原始对象相同的值,但是对于对象中的其他嵌套对象来说,它们仍然是原始对象中的引用。因此,当修改嵌套对象时,原始对象和浅层复制对象都将被更改。

深层复制会创建一个全新的对象,其中包含所有嵌套对象的副本。因此,对深层复制对象所做的更改不会影响原始对象。

以下是 Python 中浅层复制和深层复制的示例:

python
# 浅层复制示例
original_list = [[1, 2, 3], [4, 5, 6]]
shallow_copy_list = original_list.copy()

# 修改列表中的第一个元素
shallow_copy_list[0][0] = 7

print("Original list:", original_list) # Original list: [[7, 2, 3], [4, 5, 6]]
print("Shallow copy list:", shallow_copy_list) # Shallow copy list: [[7, 2, 3], [4, 5, 6]]

# 深层复制示例
import copy

original_list = [[1, 2, 3], [4, 5, 6]]
deep_copy_list = copy.deepcopy(original_list)

# 修改列表中的第一个元素
deep_copy_list[0][0] = 7

print("Original list:", original_list) # Original list: [[1, 2, 3], [4, 5, 6]]
print("Deep copy list:", deep_copy_list) # Deep copy list: [[7, 2, 3], [4, 5, 6]]


在上面的示例中,可以看到通过浅层复制创建的新列表和原始列表共享内部列表 [1,2,3] 的引用。因此,当修改一个列表时,另一个也会被更改。

相比之下,通过深层复制创建的新列表是完全独立的,不共享任何内部对象。因此,在修改一个列表时不会影响另一个列表。