深淺拷貝

淺拷貝只拷貝最外層,裏層拷貝的是內存地址的引用

In [1]: import copy

In [41]: a1
Out[41]: [1, 2, 3, 4, {'k1': 'v1'}]

In [42]: a2 = copy.copy(a1)

In [43]: a2[4]['k1'] = 'v3'

In [44]: a2
Out[44]: [1, 2, 3, 4, {'k1': 'v3'}]

In [45]: a1
Out[45]: [1, 2, 3, 4, {'k1': 'v3'}]


深拷貝數據都拷貝了

In [34]: a1
Out[34]: [1, 2, 3, 4, {'k1': 'v1'}]

In [35]: a3 = copy.deepcopy(a1)

In [36]: a3
Out[36]: [1, 2, 3, 4, {'k1': 'v1'}]

In [37]: a3[4]
Out[37]: {'k1': 'v1'}

In [38]: a3[4]['k1'] = 'v3'

In [39]: a3
Out[39]: [1, 2, 3, 4, {'k1': 'v3'}]

In [40]: a1
Out[40]: [1, 2, 3, 4, {'k1': 'v1'}]


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章