Python的深copy和浅copy
生活随笔
收集整理的這篇文章主要介紹了
Python的深copy和浅copy
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
- 淺拷貝(copy):拷貝父對象,不會拷貝對象的內部的子對象。
- 深拷貝(deepcopy): copy 模塊的 deepcopy 方法,完全拷貝了父對象及其子對象。
淺copy:
a = [1, 2, [1, 2, 3]] b = a.copy() print(a) print(b)a.append(4) a[2][0] = 0 print(a) print(b)輸出結果:
[1, 2, [1, 2, 3]] [1, 2, [1, 2, 3]] [1, 2, [0, 2, 3], 4] [1, 2, [0, 2, 3]]淺copy只復制了第一層數據,列表里存儲的子列表其實儲存的是內存地址,所以只復制了子列表的地址,當子列表變化時跟著變化
深copy:
''' 遇到問題沒人解答?小編創建了一個Python學習交流QQ群:778463939 尋找有志同道合的小伙伴,互幫互助,群里還有不錯的視頻學習教程和PDF電子書! ''' import copy a = [1, 2, [1, 2, 3]] b = copy.deepcopy(a) print(a) print(b)a.append(4) a[2][0] = 0 print(a) print(b)輸出結果:
[1, 2, [1, 2, 3]] [1, 2, [1, 2, 3]] [1, 2, [0, 2, 3],4] [1, 2, [1, 2, 3]]同樣的操作,換成深copy之后,復制之后子列表中的值不會跟著變化(將原來的數據完全復制了一遍)
總結
以上是生活随笔為你收集整理的Python的深copy和浅copy的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python 可执行对象
- 下一篇: python中os.path.isdir