问题来自用粒子群算法求解最优化问题时 ,为什么用copy函数
先看一段比较代码
input:
import numpy as np
a = np.array([1,2,3])
b = 0
for i in range(3):
a[i] = i + 5
if i < 1:
b = a.copy()
print(b)
output:
[5 2 3]
[5 2 3]
[5 2 3]
这时候将copy函数去除掉
input:
a = np.array([1,2,3])
b = 0
for i in range(3):
a[i] = i + 5
if i < 1:
b = a
print(b)
output:
[5 2 3]
[5 6 3]
[5 6 7]
结论:copy属于是浅复制,复制值而已,但是如果使用等号赋值就会将 二者链接到一起,一个进行更改另一个也会,具体可见官方参考文档