私は持っています
a = ["B", "C", "A"]
そして
b = [7, 10, 5]
a
の要素の順序で並べ替えるにはどうすればよいb
ですか?
したがって、説明すると、の要素の順序b
は、並べ替えられた要素のインデックスです([3,1,2]
)。私はこれを行うためにそれを使用したいと思います:
a[[3,1,2]]
["A", "B", "C"]
あなたが探しているsortperm
:
sortperm(v; alg::Algorithm=DEFAULT_UNSTABLE, lt=isless, by=identity, rev::Bool=false, order::Ordering=Forward)
ソートされた順序
I
で配置する順列ベクトルを返しv[I]
ます。順序は、と同じキーワードを使用して指定されsort!
ます。並べ替えアルゴリズムが不安定な場合でも、順列は安定していることが保証されます。つまり、等しい要素のインデックスが昇順で表示されます。
あなたの例に適用:
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"
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加