numpy中数组(array)的赋值问题

今天在调试python代码是发现一个非常容易被忽视的问题;我们以下面简短的代码来引出这个问题:

import numpy as np
a=np.array([1,2,3])
b=a
b[0]=11
这段代码在执行完后,我们打印a的值来看:

[11  2  3]
这就很奇怪了。我们只改变了b的值为何a的值也发生了变化?

查阅资料才发现这种赋值方式会导致a,b指向同一段内存,解决该问题的代码如下:

b=a.copy()





猜你喜欢

转载自blog.csdn.net/C_Dreams/article/details/79197612