somepeople

python深浅拷贝

以列表为例

浅拷贝:拷贝后的列表是新生成的,列表id不一样,但列表内的元素(包含可变元素)id都是和拷贝前的元素一样的;拷贝后,对原始列表的修改,拷贝后的列表内第一层元素不变,深层次的元素会跟着改变

深拷贝:拷贝后的列表也是新生成的,列表id不一样,不可变元素id和拷贝前的元素一样,可变元素和拷贝前的不一样;拷贝后,对原始列表的修改,拷贝后的列表内任何元素都不会改变

总结:浅拷贝只隔离对象第一层的数据,对于更深层次的元素无法隔离(即会相互影响);深拷贝对于对象的元素是完全独立的

 

posted on 2020-07-16 21:50  Hello_Thanos  阅读(101)  评论(0编辑  收藏  举报

导航