numpy的copy & deep copy

作者: Kkite | 来源:发表于2019-04-20 11:24 被阅读4次
aiblog6.jpg

这次写一下numpy的copy与deep copy

在此附上视频链接

一、浅拷贝 copy

大家可能对copy和deep copy的概念不太了解,那就先对着下面例子看一下吧

首先还是import numpy
import numpy as np

定义数列a=[0, 1, 2, 3]
a = np.arange(4)

经过下列一系列操作后
b = a
c = a
d = b
a[0] = 11

此时a = [11, 1, 2, 3]

然后我们再用判断语句
b is a
发现结果为True

图为代码示例: concept.png

二、深拷贝deep copy

在上述例子中,数列的复制可能并不是我们想象中的赋值,如果直接用赋值号进行赋值。
发现a 与 b并不是两个独立的数列,当我们改变a当中的数据时,b当中对应的数据也随之改变。
大家可以理解为我们用一般的赋值号对数列进行赋值的话,只是给了数列一个别名,并没有新建新的数列,只是不同指针指向了同一个instance

深拷贝的方法

b = a.copy() # deep copy

哈哈,这就是deep copy的方法啦

下面为演示图片: deepcopy.png
从图中可以看出我们使用deep copy方法时只是将a的值copy到b,但并没有将两者关联起来

所以今后到我们只是将数列的值copy过来时,可以用到deep copy的方法
如果只想把量数列关联起来 就直接用a = b或 b = a就可以啦

谢谢大家, 这里是这次的分享,numpy的笔记到这一篇的话,基础的知识就总结的差不多了,如果有需要了解更多相关知识的话可以看看我之前的博文或关注我的博客,谢谢大家。
欢迎大家在下方评论与留言或者给出建议,如有错误请指出。希望这篇博文能帮助到刚学习这个的同学,也欢迎大家分享给需要的人。

如需转载,请注明出处。

相关文章

  • Numpy copy & deep copy

    = 的赋值方式会带有关联性 首先 import numpy 并建立变量, 给变量赋值。 改变a的第一个值,b、c、...

  • numpy的copy & deep copy

    这次写一下numpy的copy与deep copy 在此附上视频链接 一、浅拷贝 copy 大家可能对copy和d...

  • 2.8 Numpy copy & deep copy

    = 的赋值方式会带有关联性 首先 import numpy 并建立变量, 给变量赋值。 改变a的第一个值,b、c、...

  • Numpy的copy和deep copy

    赋值并关联 ※ 把一个array赋值给另一个变量,即两个array完全相等。如果改变a中的值,那么b也会跟着改变。...

  • numpy _= & copy

    本文介绍numpy的矩阵赋值操作和copy操作 Demo.py 结果:

  • Java - How to deep copy HashSet,

    Deep copy HashSet or Deep copy HashMap or Anyway, Good lu...

  • Java------List的深拷贝与浅拷贝

    Java的浅拷贝(Shallow Copy)、深拷贝(Deep Copy)。 浅拷贝(Shallow Copy) ...

  • OC基础

    Difference between shallow copy and deep copy?1> 浅拷贝:指...

  • 转载:[题]

    Difference between shallow copy and deep copy?1> 浅拷贝:指针(地...

  • shallow copy & deep copy

    浅拷贝:只复制指向对象的指针,而不复制引用对象本身。在另一个地方用同一个指针引用该对象。 深拷贝:复制引用对象本身...

网友评论

    本文标题:numpy的copy & deep copy

    本文链接:https://www.haomeiwen.com/subject/hllkgqtx.html