Python学习笔记(6)深浅拷贝
(1) a = b
>>> a = 1
>>> b = a
>>> a
1
>>> b
1
>>> a = 2
>>> a
2
>>> b
1
>>> a = [1,2,3]
>>> a
[1, 2, 3]
>>> b
1
>>> b = a
>>> b
[1, 2, 3]
>>> a[0] = 9999
>>> a
[9999, 2, 3]
>>> b
[9999, 2, 3]
>>> a = 1
>>> a
1
>>> b
[9999, 2, 3]
(2) b = a.copy() 浅copy 只copy第一层
>>> a = [[1,2,3],4,5,6]
>>> a
[[1, 2, 3], 4, 5, 6]
>>> b = a.copy()
>>> a
[[1, 2, 3], 4, 5, 6]
>>> b
[[1, 2, 3], 4, 5, 6]
>>> a[1] = 444
>>> a
[[1, 2, 3], 444, 5, 6]
>>> b
[[1, 2, 3], 4, 5, 6]
>>> a[0][0] = 111
>>> a
[[111, 2, 3], 444, 5, 6]
>>> b
[[111, 2, 3], 4, 5, 6]
>>> b[0][1] = 222
>>> b
[[111, 222, 3], 4, 5, 6]
>>> a
[[111, 222, 3], 444, 5, 6]
(3)深copy a的改变不会影响b
>>> import copy
>>> a = [[1,2,3],4,5,6]
>>> b = copy.deepcopy(a)
>>> a
[[1, 2, 3], 4, 5, 6]
>>> b
[[1, 2, 3], 4, 5, 6]
>>> a[1] = 444
>>> a
[[1, 2, 3], 444, 5, 6]
>>> b
[[1, 2, 3], 4, 5, 6]
>>> a[0][0] = 111
>>> a
[[111, 2, 3], 444, 5, 6]
>>> b
[[1, 2, 3], 4, 5, 6]
浙公网安备 33010602011771号