python中的拷贝
? 1.賦值: 只是復制了新對象的引用,不會開辟新的內存空間。
? 2.淺拷貝: 創建新對象,其內容是原對象的引用。
? ? 淺拷貝有三種形式:切片操作,工廠函數,copy模塊中的copy函數。
? ? 如: lst = [1,2,3,[4,5]]?
? ? 切片操作:lst1 = lst[:] 或者 lst1 = [each for each in lst]? 要注意:list1=lst 和list1=lst[:]的區別
? ? 工廠函數:lst1 = list(lst)
? ? copy函數:lst1 = copy.copy(lst)
? ? 淺拷貝之所以稱為淺拷貝,是它僅僅只拷貝了一層,在lst中有一個嵌套的list[4,5],如果我們修改了它,情況就不一樣了。
? 3.深拷貝:只有一種形式,copy模塊中的deepcopy函數。
? ? ?和淺拷貝對應,深拷貝拷貝了對象的所有元素,包括多層嵌套的元素。
? ? ?深拷貝出來的對象是一個全新的對象,不再與原來的對象有任何關聯。
參考:
(1).https://www.cnblogs.com/huangbiquan/p/7795152.html?(Python中的賦值(復制)、淺拷貝、深拷貝之間的區別
(2).https://www.cnblogs.com/xueli/p/4952063.html(python的復制,深拷貝和淺拷貝的區別)
?
?
總結
以上是生活随笔為你收集整理的python中的拷贝的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python有哪些常用的库
- 下一篇: python3[进阶]8.对象引用、可变