Julia 按另一个数组的顺序对数组排序

Julia 按另一个数组的顺序对数组排序,julia,Julia,我有 及 如何按照b元素的顺序对a进行排序 因此,为了解释,b中元素的顺序是已排序元素的索引([3,1,2])。我想用它来做到这一点: b = [7, 10, 5] 您正在寻找: sortperm(v;alg::Algorithm=DEFAULT\u不稳定,lt=isless,by=identity,rev::Bool=false,order::Ordering=Forward) 返回一个排列向量I,它将v[I]按排序。使用与sort!相同的关键字指定顺序。即使排序算法不稳定,排列也保证稳定,

我有

如何按照
b
元素的顺序对
a
进行排序

因此,为了解释,
b
中元素的顺序是已排序元素的索引(
[3,1,2]
)。我想用它来做到这一点:

b = [7, 10, 5]
您正在寻找:

sortperm(v;alg::Algorithm=DEFAULT\u不稳定,lt=isless,by=identity,rev::Bool=false,order::Ordering=Forward)

返回一个排列向量
I
,它将
v[I]
按排序。使用与
sort!相同的关键字指定顺序。即使排序算法不稳定,排列也保证稳定,这意味着相等元素的索引以升序出现

适用于您的示例:

a[[3,1,2]]
["A", "B", "C"]
a[[3,1,2]]
["A", "B", "C"]
julia> a = ["B", "C", "A"]
3-element Array{String,1}:
 "B"
 "C"
 "A"

julia> b = [7, 10, 5]
3-element Array{Int64,1}:
  7
 10
  5

julia> perm = sortperm(b)
3-element Array{Int64,1}:
 3
 1
 2

julia> a[perm]
3-element Array{String,1}:
 "A"
 "B"
 "C"