Julia Reverse N维数组

use*_*349 2 arrays julia

在Python,numpy的阵列可以使用标准的逆转[::-1],即

A = np.diag(np.arange(1,3)) 
A[::, ::-1] 
A[::-1] 
A[::-1, ::-1]
Run Code Online (Sandbox Code Playgroud)

Julia不支持[::-1],该reverse方法仅适用于1D数组和1D列(默认情况下行为2D).

有没有我错过的替代方案?

Iai*_*ing 11

请尝试以下操作,这与numpy版本基本相同:

julia> X = rand(3,3)
3x3 Array{Float64,2}:
 0.782622  0.996359  0.335781
 0.719058  0.188848  0.985693
 0.455355  0.910717  0.870187

julia> X[end:-1:1,end:-1:1]
3x3 Array{Float64,2}:
 0.870187  0.910717  0.455355
 0.985693  0.188848  0.719058
 0.335781  0.996359  0.782622
Run Code Online (Sandbox Code Playgroud)


Mar*_*uhn 5

Julia 1.0 中,对于列向量:

julia> reverse([1, 2, 3])
3-element Array{Int64,1}:
 3
 2
 1
Run Code Online (Sandbox Code Playgroud)

对于您的行向量,只需声明您要翻转第二维:

julia> reverse([1 2 3], dims=2)
1×3 Array{Int64,2}:
 3  2  1
Run Code Online (Sandbox Code Playgroud)