从朱莉娅的数组中选择每个第n个元素

Fre*_*oen 2 indexing julia

假设有一个数组a,我想要其他所有元素.有numpy,我会用a[::2].我怎么能在朱莉娅做同样的事情?

Fre*_*oen 9

它类似于python,其中使用start:stop[:step]但是在julia 中选择元素start:[step:]stop,所以如果给出所有三个参数,step并且stop具有相反的含义.请参阅帮助:colon http://docs.julialang.org/en/latest/stdlib/math/?highlight=colon

例如

julia> a = randn(20);

julia> a[1:2:end]
10-element Array{Float64,1}:
...

julia> a[1:5:end]
4-element Array{Float64,1}:
 ...
Run Code Online (Sandbox Code Playgroud)

但忽略边界将不会像在python中那样工作,因为:在julia中有几个含义

julia> a[::2]
ERROR: syntax: invalid "::" syntax

julia> a[:2:]
ERROR: syntax: missing last argument in ":(2):" range expression

julia> a[:2:end]
19-element Array{Float64,1}:
  0.599088
  ...
Run Code Online (Sandbox Code Playgroud)