2-06深浅copy

>>> L1 = ['a','b','c,','d']
>>> id(L1)
23316040
>>> id(L1[0])
23145504
>>> id(L1[1])
23182624
>>> L2 = L1
>>> id(L2)
23316040
>>> id(L2[0])
23145504
>>> id(L2[1])
23182624
>>> L1[1]='tt'
>>> L1
['a', 'tt', 'c,', 'd']
>>> id(L1)
23316040
>>> id(L1[1])
25824096
>>> L2
['a', 'tt', 'c,', 'd']
>>> id(L2[1])
25824096

  >>> L3=L1.copy()
  >>> L3
  ['a', 'tt', 'c,', 'd']
  >>> id(L3)
  7158360
  >>> L3[2]='hello'
  >>> L3
  ['a', 'tt', 'hello', 'd']
  >>> L1
  ['a', 'tt', 'c,', 'd']
  >>>

浅copy:

>>> L = ['Alex','Amy','James',['Cody',14]]
>>> L1 = L.copy()
>>> id(L)
25903272
>>> id(L1)
25903552
>>> L1[0]='Tina'
>>> L1
['Tina', 'Amy', 'James', ['Cody', 14]]
>>> L
['Alex', 'Amy', 'James', ['Cody', 14]]
>>> id(L[3])
7158360
>>> id(L1[3])
7158360
>>> L1[3][0]='Jimmy'
>>> L1
['Tina', 'Amy', 'James', ['Jimmy', 14]]
>>> L
['Alex', 'Amy', 'James', ['Jimmy', 14]]
>>>

深copy:

>>> L
['Alex', 'Amy', 'James', ['Jimmy', 14]]
>>> import copy
>>> L2 = copy.deepcopy(L)
>>> L2
['Alex', 'Amy', 'James', ['Jimmy', 14]]
>>> id(L)
25903272
>>> id(L2)
25903992
>>> id(L[3])
7158360
>>> id(L2[3])
25905152
>>> L2[3][1]=18
>>> L2
['Alex', 'Amy', 'James', ['Jimmy', 18]]
>>> L
['Alex', 'Amy', 'James', ['Jimmy', 14]]
>>>

 

posted @ 2019-07-10 13:10  echo少儿编程  阅读(153)  评论(0编辑  收藏  举报