问题遇到的现象和发生背景
jupyter中在循环里设置的变量会改变循环外的数组
问题相关代码,请勿粘贴截图
t = np.array(range(12)).reshape(3,4).astype(float)
t[1,2:]=np.nan
print(t)
for i in range(t.shape[1]):
a = t[:,i]
a[2]=0
print(t)
运行结果及报错内容
[[ 0. 1. 2. 3.]
[ 4. 5. nan nan]
[ 8. 9. 10. 11.]]
[[ 0. 1. 2. 3.]
[ 4. 5. nan nan]
[ 0. 0. 0. 0.]]
我的解答思路和尝试过的方法
应该是循环里第一行将a和t联系到一起了,然后改变a的值同时改变了t。
我想要达到的结果
我想知道为啥改变a就会改变t呢?