浅拷贝:外层的值不变,内层的值跟着改变
l1 = [1,2,[‘a’,’b’]]
l1
[1, 2, [‘a’, ‘b’]]l2 = l1[:]
l2
[1, 2, [‘a’, ‘b’]]l1[0] —-这里改变了1的值,但是l2没变
1l1[0] = ‘a’
l1
[‘a’, 2, [‘a’, ‘b’]]l2
[1, 2, [‘a’, ‘b’]]l1[-1]
[‘a’, ‘b’]l1[-1][0]
‘a’l1[-1][0] = 1
l1
[‘a’, 2, [1, ‘b’]] –这里改变了a的值,然后l2也跟着变了l2
[1, 2, [1, ‘b’]]
深拷贝:
import copy
l1
[‘a’, 2, [1, ‘b’]]
del l2
l2 = copy.deepcopy(l1)
l2
[‘a’, 2, [1, ‘b’]]
l1[-1][0]
1
l1[-1][0] = ‘a’ –这里改变了l1的值,但是l2没有跟着一起变l1
[‘a’, 2, [‘a’, ‘b’]]
l2
[‘a’, 2, [1, ‘b’]]