Вопрос
У меня есть список кортежей, представляющих координаты точек.Как я могу отсортировать их по первому или второму значению, чтобы сначала упорядочивать свои баллы слева направо, а затем сверху вниз?
Решение
Звучит так, как будто вы хотите, например
myList |> List.sortBy fst
Но кортежи поддерживают структурное равенство и сравнение, поэтому сортировка по умолчанию (лексикографическая) может делать то, что вы хотите.
Другие советы
Боковое примечание:
Речь идет не о сортировке, но если вы используете кортежные координаты, вы можете захотеть использовать Установленный вместо Списка.Использование набора действительно помогло мне упростить реализацию Тетрис.
let sorted = List.sort_by (fun (a,b) -> a,b) myList
Измените a, b, если вам нужно наоборот
Не связан с StackOverflow