【发布时间】:2019-09-04 14:40:15
【问题描述】:
这个问题很难描述(因此标题不好),更容易展示它:
matr =
[
1 1 3
2 1 10
3 2 3
13 8 10]
i=1
print(matr[:,2].==i .* matr[:,3].!=i)
x = matr[:,2].==i
y = matr[:,3].!=i
print(x .* y)
第一个和第二个 print() 应该是等价的。无论如何,第一个打印Bool[false, false, false, false] 第二个打印Bool[true, true, false, false]。
由于第一个结果是错误的,我想知道这个问题是如何出现的以及如何预防。
【问题讨论】: