numpy array的复制-【老鱼学numpy】

对象的引用

看例子:

a = np.array([0, 1, 2, 3])
b = a
a[0] = 5
print("b=", b)

# 判断a和b是否是同样的地址
print(b is a)

运行结果:

b= [5 1 2 3]
True

上面的例子中,我们改变了a的值,但打印出来b中的值也被修改了,原因是a和b指向相同的对象。

复制

如果我们想要解决修改了a的值不会影响到b中的值,该如何做到呢?

import numpy as np
a = np.array([0, 1, 2, 3])
b = a.copy()
a[0] = 5
print("b=", b)

# 判断a和b是否是同样的地址
print(b is a)

输出为:

b= [0 1 2 3]
False
posted @ 2017-11-18 09:38  dreampursuer  阅读(4695)  评论(0编辑  收藏  举报