在F#中获取2D数组的列或行

Grz*_*nio 2 arrays f# multidimensional-array

如何在F#中保存2D数组的列或行(理想情况下是1D数组,但Seq也很好).显然我可以自己写,但你会认为它必须已经提供...

例如,我在内置等效于:

let row i array = seq { for j in 0 .. (Array2D.length2 array)-1 do yield array.[i,j]}
Run Code Online (Sandbox Code Playgroud)

pad*_*pad 5

我认为没有内置功能.

您可以使用Seq.cast对数组进行切片并展平切片:

let row i (arr: 'T[,]) = arr.[i..i, *] |> Seq.cast<'T>
Run Code Online (Sandbox Code Playgroud)