码迷,mamicode.com
首页 > 其他好文 > 详细

二十七、深拷贝和浅拷贝

时间:2020-07-12 01:18:00      阅读:69      评论:0      收藏:0      [点我收藏+]

标签:exp   相等   expand   行修改   通过   引用   pair   code   data-   

  • 浅拷贝

    • 实质是对变量的引用

      • 浅拷贝,只copy第一层结构

      • 说明:

        • 第一层结构如果有对其他对象的引用,如列表列表a = [[1,2],3,4]对象,那么第一层列表对象的元素a[0][1,2]对象),其引用的其实是指向第二层对象的内存地址

        • 如果通过浅拷贝b = a.copy(),那相当于对象b为[ID([1,2], 3, 4)],所以当对b对象b[0]下的元素进行修改时,那么因为ID([1, 2])这个内存地址,在a和b中,都是相等的,所以会直接导致a[0]对象的下层级的元素变动,这个变动与b[0]中的变动是相同的

  • 深拷贝

    • 实质是对当前对象的所有层级的对象的内存地址的拷贝

二十七、深拷贝和浅拷贝

标签:exp   相等   expand   行修改   通过   引用   pair   code   data-   

原文地址:https://www.cnblogs.com/nuochengze/p/13286147.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!