在数组中选择一组值

时间:2019-02-19 20:53:50

标签: 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)] 

返回

MethodError: no method matching &(::Int64, ::StepRange{Int64,Int64})

如何解决?

2 个答案:

答案 0 :(得分:4)

2345.jpga.>4返回a.<8时,还需要广播带有点(BitArray)的&

.

答案 1 :(得分:0)

这里有两种替代方法:

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