python中的copy方法
时间: 2024-01-28 22:05:48 浏览: 72
在 Python 中,我们可以使用 `copy()` 方法来复制一个对象。 `copy()` 方法会返回一个新的对象,其中包含原始对象的所有属性和值。但是,它并不会复制对象所引用的对象。如果原始对象包含了其他对象的引用,那么复制后的对象将会引用这些相同的对象。有两种不同的复制方式:浅复制和深复制。
1. 浅复制:浅复制创建一个新的对象,但是它只是原始对象的一个副本。如果原始对象包含了其他对象的引用,那么复制后的对象将会引用这些相同的对象。我们可以使用 `copy()` 方法来进行浅复制。例如:
```python
original_list = [1, 2, [3, 4]]
new_list = original_list.copy()
original_list[2][0] = 5
print(original_list) # [1, 2, [5, 4]]
print(new_list) # [1, 2, [5, 4]]
```
2. 深复制:深复制会递归地复制原始对象的所有引用对象,从而创建一个完全独立的对象。我们可以使用 `deepcopy()` 方法来进行深复制。例如:
```python
import copy
original_list = [1, 2, [3, 4]]
new_list = copy.deepcopy(original_list)
original_list[2][0] = 5
print(original_list) # [1, 2, [5, 4]]
print(new_list) # [1, 2, [3, 4]]
```
总之,根据需求选择适合的复制方式。
阅读全文