将元组数组转换为2d数组

wał*_*nok 4 f#

我只是想知道是否有更好的方法将元组数组转换为二维数组?

let list = [|("a", "1"); ("b", "2"); ("c", "3")|];;
let arr = Array2D.init (Array.length list) 2 (fun i j -> if j <> 0 then (fst list.[i]) else (snd list.[i]));;
Run Code Online (Sandbox Code Playgroud)

pad*_*pad 6

更简洁的方法是使用array2D:

[|("a", "1"); ("b", "2"); ("c", "3")|]
|> Seq.map (fun (x, y) -> [|x; y|])
|> array2D
Run Code Online (Sandbox Code Playgroud)

但是有没有任何理由为什么你不开始使用数组数组以便于初始化,例如

let arr =
  [|[|"a"; "1"|]; 
    [|"b"; "2"|]; 
    [|"c"; "3"|]|]
  |> array2D
Run Code Online (Sandbox Code Playgroud)