Numpy copy & deep copy   2017-12-27


numpy copy & deep copy

= 的赋值方式会带有关联性

import numpy as np

a = np.arange(4)
# array([0, 1, 2, 3])

b = a
c = a
d = b

改变a的第一个值,bcd的第一个值也会同时改变。

a[0] = 11
print(a)
# array([11, 1, 2, 3])
[11  1  2  3]

确认bcd是否与a相同

b is a  # True
c is a # True
d is a # True

copy() 的赋值方式没有关联性

b = a.copy()    # deep copy
print(b) # array([11, 22, 33, 3])
a[3] = 44
print(a) # array([11, 22, 33, 44])
print(b) # array([11, 22, 33, 3])
[11  1  2  3]
[11  1  2 44]
[11  1  2  3]

Reference


分享到:


  如果您觉得这篇文章对您的学习很有帮助, 请您也分享它, 让它能再次帮助到更多的需要学习的人. 您的支持将鼓励我继续创作 !
本文基于署名4.0国际许可协议发布,转载请保留本文署名和文章链接。 如您有任何授权方面的协商,请邮件联系我。

Contents

  1. = 的赋值方式会带有关联性
  2. copy() 的赋值方式没有关联性
  3. Reference