Julia 在数组中选择一组值

Julia 在数组中选择一组值,julia,Julia,下面的代码 a=1:1:10 collect(a) a[a.>4] 返回预期的 6-element Array{Int64,1}: 5 6 7 8 9 10 鉴于 a[(a.>4) & (a.<8)] 如何解决这个问题?作为a.4和a.4和a julia> a = 1:10 julia> a[4 .< a .< 8] 3-element Array{Int64,1}: 5 6 7 julia> fil

下面的代码

a=1:1:10
collect(a)
a[a.>4]
返回预期的

6-element Array{Int64,1}:
  5
  6
  7
  8
  9
 10
鉴于

a[(a.>4) & (a.<8)] 

如何解决这个问题?

作为a.4和a.4和a

julia> a = 1:10

julia> a[4 .< a .< 8]
3-element Array{Int64,1}:
 5
 6
 7

julia> filter(x->4<x<8, a)
3-element Array{Int64,1}:
 5
 6
 7

哦,不要使用collect。

这里有两种方法:

julia> a = 1:10

julia> a[4 .< a .< 8]
3-element Array{Int64,1}:
 5
 6
 7

julia> filter(x->4<x<8, a)
3-element Array{Int64,1}:
 5
 6
 7

哦,不要使用collect。

我想得到元素5、6、7。更正:a[a.>4.&a.@SchlatorBorgenson Yep,怀疑有什么奇怪的地方,特别是你收到的错误消息。collecta不修改a。因此a仍然是一个范围对象。还有运算符优先级问题。因此a.>4.&a首先计算,然后计算。<8.感谢更正。我想得到元素5、6、7。更正:a[a.>4.&a.@SchlatorBorgenson Yep,怀疑有什么奇怪的地方,尤其是您收到的错误消息。collecta不会修改a。因此a仍然是一个范围对象。此外还有运算符优先级问题。因此,a.>4.&a首先进行评估,然后进行评估。<8.感谢您的更正。
julia> a = 1:10

julia> a[4 .< a .< 8]
3-element Array{Int64,1}:
 5
 6
 7

julia> filter(x->4<x<8, a)
3-element Array{Int64,1}:
 5
 6
 7