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"