在 F# 中提取二维数组的一列或一行

3

我该如何在F#中获取二维数组的列或行(最好是作为一维数组,但Seq也可以)。显然,我可以自己编写代码,但你会想这应该已经提供了...

例如,我需要与以下代码等价的内置方法:

let row i array = seq { for j in 0 .. (Array2D.length2 array)-1 do yield array.[i,j]}
1个回答

6

我认为这方面没有内置函数。

您可以使用Seq.cast来切分数组并将切分后的部分扁平化:

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接