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

有帮助吗?

解决方案

听起来像你想要的那样。

myList |> List.sortBy fst

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

但是元组支持结构相等和比较,所以默认排序(词典编纂)可以做你想要的。

其他提示

旁注:

这不是关于排序,但是如果您使用tupled坐标,则可能需要使用设置而不是列表。使用套装确实帮助我简化了俄罗斯方块的实施

 let sorted = List.sort_by (fun (a,b) -> a,b) myList

如果您需要相反的方式,请更改a,b

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top