加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python 复制 浅copy 深copy 的区别

发布时间:2020-12-20 10:23:56 所属栏目:Python 来源:网络整理
导读:1.浅copy: 外层添加元素时, 浅拷贝c不会随原列表a变化而变化;内层list添加元素时,浅拷贝c才会变化。2.深copy: 无论原列表a如何变化,深拷贝d都保持不变。3.赋值: 赋值对象随着原列表一起变化 深拷贝:只有一种形式,copy模块中的deepcopy函数。 ? ? ?和浅
1.浅copy:   外层添加元素时, 浅拷贝c不会随原列表a变化而变化;内层list添加元素时,浅拷贝c才会变化。
2.深copy:   无论原列表a如何变化,深拷贝d都保持不变。
3.赋值:    赋值对象随着原列表一起变化

   深拷贝:只有一种形式,copy模块中的deepcopy函数。
? ? ?和浅拷贝对应,深拷贝拷贝了对象的所有元素,包括多层嵌套的元素。
? ? ?深拷贝出来的对象是一个全新的对象,不再与原来的对象有任何关联。

import copy
a = [1,2,3,4,5,[a,b],6]
b = a
c =copy.copy(a)
d = copy.deepcopy(a)

a.append(7)

print(a)    #新增一个7
print(b)    #新增一个7
print(c)    #浅copy 不变
print(d)    #深copy不变
print(~~~~~~)
a[5].append(c)
print(a)
print(b)
print(c)
print(d)

?

/usr/local/bin/python3.7 "/code/赋值 浅copy 深copy.py"
[1,[‘a‘,‘b‘],6,7]
[1,6]
[1,6]
~~~~~~
[1,‘b‘,‘c‘],6]

Process finished with exit code 0

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读