sorting - 在 F# 中对元组内的值进行排序

标签 sorting f# tuples

我有一个元组,其中存储 3 条记录,我想按以下方式对元组进行排序。

原始元组是:

({X = 5; Y = 1; By = B}, {X = 4; Y = 0; By = B}, {X = 5; Y = 0; By = B})

我想得到:

({X = 4; Y = 0; By = B}, {X = 5; Y = 0; By = B}, {X = 5; Y = 1; By = B})

我希望元组首先按 X 排序,然后按 Y 排序。我对 F# 相当陌生,因此我正在努力解决这个问题。任何帮助表示赞赏。

最佳答案

记录列表可能会更正确。如果您必须恰好有 3 个项目,并且希望对它们进行排序,那么由于易于使用,我可能至少会使用列表作为中间表示。

let sort (a,b,c) = 
    let l = [a;b;c] |> List.sortBy (fun r -> r.X, r.Y)
    (l.[0], l.[1], l.[2])

关于sorting - 在 F# 中对元组内的值进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56756968/

相关文章:

list - 在Scala中,有没有办法将两个列表转换为Map?

c++ - 从元组函数一次存储 2 个变量

c++ - 传递类的私有(private)方法作为 std::sort 的比较运算符

javascript - 如何从数组对象中获取最近或最接近的日期?

f# - F# 中的 t <'a> and ' 和 t 有什么区别?

algorithm - 生成元组模索引

c++ - 在C++中按一列对2d数组进行排序

arrays - Swift 3 对元组数组进行排序

f# - 在 F# 中编写这些方法的功能方法

f# - fparsec 为 DSL 解析具有可区分联合的替代方案