日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python中的浅拷贝和深拷贝

發布時間:2025/3/20 python 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python中的浅拷贝和深拷贝 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

賦值

  賦值即對象的引用

original_list = [1,2,3,['a','b']] assignment_list = original_list#修改原對象的值,賦值對象也改變 original_list.append(5) print('original_list: %s\nassignment_list:%s'%(original_list,assignment_list)) #修改原對象中引用的對象的值,賦值對象也改變 original_list[3].append('c') print('original_list: %s\nassignment_list:%s'%(original_list,assignment_list)) #修改賦值對象中的值,原對象也改變 assignment_list.append(5) print('original_list: %s\nassignment_list:%s'%(original_list,assignment_list)) #修改賦值對象中引用對象的值,原對象也改變 assignment_list[3].append('c') print('original_list: %s\nassignment_list:%s'%(original_list,assignment_list))

淺拷貝

  “A shallow copy constructs a new compound object and then (to the extent possible) inserts references into it to the objects found in the original. ” 

  淺拷貝構造一個新的復合對象,然后(盡可能)將對它的引用插入到原始對象中

  即拷貝了最外圍的對象本身,內部的元素都只是拷貝了一個引用而已。也就是,把對象復制一遍,但是該對象中引用的其他對象不復制

from copy import copy,deepcopyoriginal_list = [1,2,3,['a','b']] copy_list = copy(original_list) original_list.append(5) print('original_list:%s\ncopy_list: %s'%(original_list,copy_list)) original_list[3].append('c') print('original_list:%s\ncopy_list: %s'%(original_list,copy_list)) copy_list.append(5) print('original_list:%s\ncopy_list: %s'%(original_list,copy_list)) copy_list[3].append('c') print('original_list:%s\ncopy_list: %s'%(original_list,copy_list))

深拷貝

  A deep copy constructs a new compound object and then, recursively, inserts copies into it of the objects found in the original

  深拷貝構造一個新的復合對象,然后遞歸地將復制插入原始對象中的對象

  即外圍和內部元素都進行了拷貝對象本身,而不是引用。也就是把對象復制一遍,并且該對象中引用的所有對象都復制。

from copy import copy,deepcopyoriginal_list = [1,2,3,['a','b']] deepcopy_list = deepcopy(original_list) original_list.append(5) print('original_list:%s\ndeepcopy_list:%s'%(original_list,deepcopy_list)) original_list[3].append('c') print('original_list:%s\ndeepcopy_list:%s'%(original_list,deepcopy_list)) deepcopy_list.append(5) print('original_list:%s\ndeepcopy_list:%s'%(original_list,deepcopy_list)) deepcopy_list[3].append('c') print('original_list:%s\ndeepcopy_list:%s'%(original_list,deepcopy_list))

?

轉載于:https://www.cnblogs.com/iamluoli/p/9385358.html

總結

以上是生活随笔為你收集整理的python中的浅拷贝和深拷贝的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。