python copy deepcopoy
时间: 2023-10-02 07:07:51 浏览: 81
浅谈python中copy和deepcopy中的区别
在Python中,复制对象有两种方式:浅拷贝和深拷贝。浅拷贝只是复制对象的引用,而不是对象本身。深拷贝则是将对象及其子对象全部复制。
在Python中,可以使用 `copy` 模块中的 `copy` 和 `deepcopy` 函数进行浅拷贝和深拷贝。
示例代码:
```python
import copy
# 浅拷贝
a = [1, 2, [3, 4]]
b = copy.copy(a)
print(a) # [1, 2, [3, 4]]
print(b) # [1, 2, [3, 4]]
print(a == b) # True
print(a is b) # False
# 修改 b 的值,a 不受影响
b[0] = 5
b[2][0] = 6
print(a) # [1, 2, [6, 4]]
print(b) # [5, 2, [6, 4]]
# 深拷贝
c = copy.deepcopy(a)
print(a) # [1, 2, [6, 4]]
print(c) # [1, 2, [6, 4]]
print(a == c) # True
print(a is c) # False
# 修改 c 的值,a 不受影响
c[0] = 7
c[2][1] = 8
print(a) # [1, 2, [6, 4]]
print(c) # [7, 2, [6, 8]]
```
阅读全文