Как преобразовать список списка int в список (int * int) в f # - PullRequest
0 голосов
/ 08 ноября 2018

Если я хочу конвертировать список [[[0; 5]; [1; 5]; [2; 3]]] к списку кортежей [(0, 5); (1, 5); (2, 3)] используя f # или сопоставление с образцом в f #, пожалуйста, как мне это сделать?

1 Ответ

0 голосов
/ 08 ноября 2018

Я бы сгладил внешний уровень списка (путем объединения списков второго уровня), а затем преобразовал бы внутренние списки в кортежи, используя map:

let transform lst =
    lst
    |> List.concat
    |> List.map (function
        | [a; b] -> (a, b)
        | _ -> failwith "Incorrect list syntax")
...