julia - 如何对包含向量的列表进行排序?
问题描述
我的清单包括二维的一些点。例如
List=[270 180 -180;-570 -510 -67.5]
我想按元素一排序
List=[-180 180 270;-67.5 -510 -570]
当我使用排序功能时,代码给了我这个列表
-180.0 180.0 270.0
-570.0 -510.0 -67.5
我怎样才能实现该列表。
请帮我。感谢您的热心帮助。
解决方案
indexin
我建议不要像 user172056 建议的那样使用“反向搜索”每个排序元素,而是为第一行构建排序排列并使用它进行索引:
julia> l[:, sortperm(view(l, 1, :))]
2×3 Array{Float64,2}:
-180.0 180.0 270.0
-67.5 -510.0 -570.0
如果您还计划稍后按第二行排序,则可能还需要指定稳定的排序算法(sortperm
默认情况下似乎使用不稳定的算法):
julia> l[:, sortperm(view(l, 1, :), alg = Base.Sort.DEFAULT_STABLE)]
2×3 Array{Float64,2}:
-180.0 180.0 270.0
-67.5 -510.0 -570.0
推荐阅读
- java - 在显示场景之前获取节点的大小
- c# - unity - 围绕 Y 轴旋转物体,同时不断设置不同的朝向地面的旋转
- python-3.x - 如何使用 PyTesseract 去除图像噪声以改善结果?
- bash - 如何编写一个 bash 函数来检测给定输入是否以千字节“K”或兆字节“M”结尾?
- tooltip - amCharts 4:仅在截断(带省略号)值上显示图例工具提示
- css - 即使在 flexbox 布局中,SVG 元素也会增加父级大小
- javascript - How to add a message and remove it when a select box changes value in JavaScript?
- amazon-web-services - 创建临时凭证以将文件上传到 S3 存储桶
- android - 如果在前台应用程序时点击消息,nativescript-plugin-firebase 云消息传递应用程序崩溃
- python - 串行端口 - 无法读取数据,我只是写了