用法:
sortslices(A; dims, alg::Algorithm=DEFAULT_UNSTABLE, lt=isless, by=identity, rev::Bool=false, order::Ordering=Forward)对数组的切片进行排序 A 。必需的关键字参数 dims 必须是整数或整数元组。它指定对切片进行排序的维度。
例如,如果A 是一个矩阵,dims=1 将对行进行排序,dims=2 将对列进行排序。请注意,一维切片上的默认比较函数按字典顺序排序。
对于其余的关键字参数,请参阅   的文档。sort! 
例子
julia> sortslices([7 3 5; -1 6 4; 9 -2 8], dims=1) # Sort rows
3×3 Matrix{Int64}:
 -1   6  4
  7   3  5
  9  -2  8
julia> sortslices([7 3 5; -1 6 4; 9 -2 8], dims=1, lt=(x,y)->isless(x[2],y[2]))
3×3 Matrix{Int64}:
  9  -2  8
  7   3  5
 -1   6  4
julia> sortslices([7 3 5; -1 6 4; 9 -2 8], dims=1, rev=true)
3×3 Matrix{Int64}:
  9  -2  8
  7   3  5
 -1   6  4
julia> sortslices([7 3 5; 6 -1 -4; 9 -2 8], dims=2) # Sort columns
3×3 Matrix{Int64}:
  3   5  7
 -1  -4  6
 -2   8  9
julia> sortslices([7 3 5; 6 -1 -4; 9 -2 8], dims=2, alg=InsertionSort, lt=(x,y)->isless(x[2],y[2]))
3×3 Matrix{Int64}:
  5   3  7
 -4  -1  6
  8  -2  9
julia> sortslices([7 3 5; 6 -1 -4; 9 -2 8], dims=2, rev=true)
3×3 Matrix{Int64}:
 7   5   3
 6  -4  -1
 9   8  -2更高的维度
sortslices 自然地扩展到更高的维度。例如,如果 A 是一个 2x2x2 数组,则 sortslices(A, dims=3) 将对第 3 维内的切片进行排序,将 2x2 切片 A[:, :, 1] 和 A[:, :, 2] 传递给比较函数。请注意,虽然高维切片没有默认顺序,但您可以使用 by 或 lt 关键字参数来指定这样的顺序。
如果dims 是元组,则dims 中的维度顺序是相关的,并指定切片的线性顺序。例如,如果 A 是三维的,而 dims 是 (1, 2) ,则重新排列前两个维度的顺序,以便对(剩余的第三维的)切片进行排序。如果 dims 改为 (2, 1),则将采用相同的切片,但结果顺序将改为行优先。
高维示例
julia> A = permutedims(reshape([4 3; 2 1; 'A' 'B'; 'C' 'D'], (2, 2, 2)), (1, 3, 2))
2×2×2 Array{Any, 3}:
[:, :, 1] =
 4  3
 2  1
[:, :, 2] =
 'A'  'B'
 'C'  'D'
julia> sortslices(A, dims=(1,2))
2×2×2 Array{Any, 3}:
[:, :, 1] =
 1  3
 2  4
[:, :, 2] =
 'D'  'B'
 'C'  'A'
julia> sortslices(A, dims=(2,1))
2×2×2 Array{Any, 3}:
[:, :, 1] =
 1  2
 3  4
[:, :, 2] =
 'D'  'C'
 'B'  'A'
julia> sortslices(reshape([5; 4; 3; 2; 1], (1,1,5)), dims=3, by=x->x[1,1])
1×1×5 Array{Int64, 3}:
[:, :, 1] =
 1
[:, :, 2] =
 2
[:, :, 3] =
 3
[:, :, 4] =
 4
[:, :, 5] =
 5相关用法
- Julia sort用法及代码示例
- Julia sortperm用法及代码示例
- Julia sort!用法及代码示例
- Julia something用法及代码示例
- Julia splice!用法及代码示例
- Julia sizeof()用法及代码示例
- Julia setfield()用法及代码示例
- Julia sqrt方法用法及代码示例
- Julia signed用法及代码示例
- Julia strip用法及代码示例
- Julia setdiff!用法及代码示例
- Julia setindex!方法用法及代码示例
- Julia sizeof方法用法及代码示例
- Julia stride用法及代码示例
- Julia skipmissing用法及代码示例
- Julia setdiff用法及代码示例
- Julia sum用法及代码示例
- Julia show方法用法及代码示例
- Julia string用法及代码示例
- Julia signbit()用法及代码示例
- Julia startswith用法及代码示例
- Julia strides用法及代码示例
- Julia symdiff用法及代码示例
- Julia split用法及代码示例
- Julia sign用法及代码示例
注:本文由纯净天空筛选整理自julialang.org 大神的英文原创作品 Base.sortslices — Function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。
