Julia 返回的数组是意外的

Julia 返回的数组是意外的,julia,Julia,下面几行 s = [1 2 5 7 3 3] index=findall(x -> (x < 7 & x > 3), s) [idx[2] for idx in index] 当s中有一个5。这里出了什么问题?&是按位的,运算符和运算符优先级在这里起作用。Julia中的逻辑AND运算符是& 您可以使用括号使表达式符合您的目的,即x>7&x>3,但我不建议使用此括号 您应该改为使用逻辑AND运算符&&,或者最好直接在纸上写下您要写的内容,即33,但我不建议使用此括号 您

下面几行

s = [1 2 5 7 3 3]
index=findall(x -> (x < 7 & x > 3), s)
[idx[2] for idx in index]
当s中有一个5。这里出了什么问题?

&是按位的,运算符和运算符优先级在这里起作用。Julia中的逻辑AND运算符是&

您可以使用括号使表达式符合您的目的,即x>7&x>3,但我不建议使用此括号

您应该改为使用逻辑AND运算符&&,或者最好直接在纸上写下您要写的内容,即3
s = [1 2 5 7 3 3]
index=findall(x -> 3 < x < 7, s)
[idx[2] for idx in index]
&是按位AND运算符,运算符优先级在这里起作用。Julia中的逻辑AND运算符是&

您可以使用括号使表达式符合您的目的,即x>7&x>3,但我不建议使用此括号

您应该改为使用逻辑AND运算符&&,或者最好直接在纸上写下您要写的内容,即3
s = [1 2 5 7 3 3]
index=findall(x -> 3 < x < 7, s)
[idx[2] for idx in index]
&对位和逻辑and进行操作

对于要执行的操作,只需使用过滤器:

julia> filter(x -> 7 > x > 3, s)
1-element Array{Int64,1}:
 5
&对位和逻辑and进行操作

对于要执行的操作,只需使用过滤器:

julia> filter(x -> 7 > x > 3, s)
1-element Array{Int64,1}:
 5
图为&必须替换为&&图为&必须替换为&&