我有这个数组:
L = np.array([[5,4],[3,2]])
我想改变第二个支架。
如果我这样做:
print(L[1] + (-0.6)*L[0])
它会给我这个数组:
[0,-0.4]
但是,如果我改变它:
L[1] = L[1] + (-0.6)*L[0]
print(L)
打印:
# [[5 4] [0 0]]
为什么输出不同?
答案 0 :(得分:1)
第一个例子:
L[1] + (-0.6)*L[0]
返回指定操作的结果,但未分配,因此您只有结果。
在你的第二个例子中
L[1] = L[1] + (-0.6)*L[0]
结果写入L[1]
,但结果会转换为dtype
的{{1}}。这是一个整数。所以中间结果只是被截断了。
这种“截断”是结果不正确的原因:
L