Как преобразовать список списка int в список (int * int) в F#
Если я хочу конвертировать список [[[0; 5]; [1; 5]; [2; 3]]] к списку кортежей [(0, 5); (1, 5); (2, 3)] используя F# или сопоставление с образцом в F#, пожалуйста, как мне это сделать?
1 ответ
Я бы сгладил внешний уровень списка (путем объединения списков второго уровня), а затем преобразовал бы внутренние списки в кортежи, используя map
:
let transform lst =
lst
|> List.concat
|> List.map (function
| [a; b] -> (a, b)
| _ -> failwith "Incorrect list syntax")