首页 > 编程语言 > 详细

python的浅复制,深复制

时间:2019-08-03 13:29:07      阅读:71      评论:0      收藏:0      [点我收藏+]

1.a = b是将b的id复制给b,然后a与b指向同一个对象

1 import numpy as np
2 
3 a = np.arange(5)
4 print(a)
5 b = a
6 print(id(a))
7 print(id(b))

可以通过下图的运行结果看到,a的id与b的id相等,指向的同一个物体。

技术分享图片

 

2. b = a.view() 是浅复制,b和a是不同的对象,但是他们的元素是共享的

1 import numpy as np
2 
3 a = np.arange(5)
4 print(a)
5 b = a.view()
6 print(id(a))
7 print(id(b))
8 b[0] = -1
9 print(a)

通过下图运行结果可以看到,a和b是不同的对象,但是当我改变a的元素的时候,b的元素也发生了改变。‘

技术分享图片

 

3.b = a.copy()是深复制,b中的元素是a中的副本

python的浅复制,深复制

原文:https://www.cnblogs.com/loubin/p/11294267.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!