如何在julia中对该列表进行排序?

如何在julia中对该列表进行排序?,julia,julia-jump,Julia,Julia Jump,请帮助我如何按第一个元素对列表进行排序 List = ([-180.0; -67.5], 0), ([270.0; -570.0], 0), ([180.0, -510.0], 1), ([27.15, -288.75], 1), ([-36.0, -244.5], 1) sortList = ([-180.0; -67.5], 0), ([-36.0, -244.5], 1), ([27.15, -288.75], 1), ([180.0, -510.0], 1), ([270.0; -57

请帮助我如何按第一个元素对列表进行排序

List = ([-180.0; -67.5], 0), ([270.0; -570.0], 0), ([180.0, -510.0], 1), ([27.15, -288.75], 1), ([-36.0, -244.5], 1)

sortList = ([-180.0; -67.5], 0), ([-36.0, -244.5], 1), ([27.15, -288.75], 1), ([180.0, -510.0], 1), ([270.0; -570.0], 0)  
谢谢

您无法对“列表”排序,因为它不是Julia中的列表

这是一个元组的元组

   $ julia
               _
   _       _ _(_)_     |  Documentation: https://docs.julialang.org
  (_)     | (_) (_)    |
   _ _   _| |_  __ _   |  Type "?" for help, "]?" for Pkg help.
  | | | | | | |/ _` |  |
  | | |_| | | | (_| |  |  Version 1.0.3 (2018-12-18)
 _/ |\__'_|_|_|\__'_|  |  Official https://julialang.org/ release
|__/                   |

   julia> List=([-180.0; -67.5], 0),([270.0; -570.0], 0),([180.0, -510.0], 1),([27.15, -288.75], 1), ([-36.0, -244.5], 1)
(([-180.0, -67.5], 0), ([270.0, -570.0], 0), ([180.0, -510.0], 1), ([27.15, -288.75], 1), ([-36.0, -244.5], 1))

   julia> List
   (([-180.0, -67.5], 0), ([270.0, -570.0], 0), ([180.0, -510.0], 1), ([27.15, -288.75], 1), ([-36.0, -244.5], 1))

   julia> typeof(List)
   NTuple{5,Tuple{Array{Float64,1},Int64}}
它清楚地表明

Julia有一个称为元组的内置数据结构,它与函数参数和返回值密切相关。元组是一个固定长度的容器,可以保存任何值,但不能修改(它是不可变的)

无法对“列表”进行排序,因为它不是Julia中的列表

这是一个元组的元组

   $ julia
               _
   _       _ _(_)_     |  Documentation: https://docs.julialang.org
  (_)     | (_) (_)    |
   _ _   _| |_  __ _   |  Type "?" for help, "]?" for Pkg help.
  | | | | | | |/ _` |  |
  | | |_| | | | (_| |  |  Version 1.0.3 (2018-12-18)
 _/ |\__'_|_|_|\__'_|  |  Official https://julialang.org/ release
|__/                   |

   julia> List=([-180.0; -67.5], 0),([270.0; -570.0], 0),([180.0, -510.0], 1),([27.15, -288.75], 1), ([-36.0, -244.5], 1)
(([-180.0, -67.5], 0), ([270.0, -570.0], 0), ([180.0, -510.0], 1), ([27.15, -288.75], 1), ([-36.0, -244.5], 1))

   julia> List
   (([-180.0, -67.5], 0), ([270.0, -570.0], 0), ([180.0, -510.0], 1), ([27.15, -288.75], 1), ([-36.0, -244.5], 1))

   julia> typeof(List)
   NTuple{5,Tuple{Array{Float64,1},Int64}}
它清楚地表明

Julia有一个称为元组的内置数据结构,它与函数参数和返回值密切相关。元组是一个固定长度的容器,可以保存任何值,但不能修改(它是不可变的)


实际上,Julia在默认情况下执行字典排序,因此在本例中,当您希望对第一个唯一项进行排序时,只需编写
元组(sort!(collect(mytuple))
。如果您可能有重复项,则需要Steven提出的方法
Tuple(sort!(collect(mytuple),by=x->x[1][1])
(否则,排序可能不稳定或失败,具体取决于您的数据结构所包含的其他元素)。实际上,Julia默认情况下执行字典排序,因此在本例中,由于要对唯一的第一项进行排序,只需编写
Tuple(sort!(collect(mytuple))
。如果可以有重复项,则需要使用Steven提出的方法
Tuple(sort!(collect(mytuple),by=x->x[1][1])
(否则,排序可能不稳定或失败,具体取决于数据结构所包含的其他元素)。