【问题标题】:Sorting tuples in F#在 F# 中对元组进行排序
【发布时间】:2009-04-30 10:21:44
【问题描述】:

我有一个表示点坐标的元组列表。如何按第一个或第二个值对它们进行排序,以便我可以先从左到右再从上到下排序?

【问题讨论】:

    标签: .net sorting f#


    【解决方案1】:

    听起来像你想要的,例如

    myList |> List.sortBy fst
    

    http://research.microsoft.com/en-us/um/cambridge/projects/fsharp/manual/FSharp.Core/Microsoft.FSharp.Collections.List.html

    但元组支持结构相等和比较,因此默认排序(按字典顺序)可能会满足您的需求。

    【讨论】:

    • sort_by 后来改名为 sortBy
    【解决方案2】:

    旁注:

    这与排序无关,但如果您使用元组坐标,您可能希望使用Set 而不是列表。使用 Set 确实帮助我简化了 Tetris 的实现。

    【讨论】:

      【解决方案3】:
       let sorted = List.sort_by (fun (a,b) -> a,b) myList
      

      如果您需要其他方式,请更改 a,b

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2017-04-28
        • 2020-01-07
        • 2011-11-13
        • 2011-01-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多