如何在 F# 中获取子列表或子序列
How to get a sublist or a subsequence in F#
我正在尝试截断此序列,就像您在 F# 中处理数组一样
let sublist sequ (i:int) (n:int) =
let item = Seq.item(n-i) sequ
let start = Seq.item i sequ
let ending = Seq.item n sequ
Seq.truncate(item) (seq{start..ending})
sublist [|25..92|] 5 10
喜欢可以在这里完成
Array.sub [|5..20|] 3 10
您忘记写预期结果了。
您可以使用 take
和 skip
作为评论中的链接答案:
let sublist sequ (i:int) (n:int) =
sequ |> Seq.skip i |> Seq.take (n-1)
请注意,如果您正在处理数组,则可以使用数组切片:
[|25..92|].[5..10]
>
val it : int [] = [|30; 31; 32; 33; 34; 35|]
[|5..20|].[3..10]
>
val it : int [] = [|8; 9; 10; 11; 12; 13; 14; 15|]
我正在尝试截断此序列,就像您在 F# 中处理数组一样
let sublist sequ (i:int) (n:int) =
let item = Seq.item(n-i) sequ
let start = Seq.item i sequ
let ending = Seq.item n sequ
Seq.truncate(item) (seq{start..ending})
sublist [|25..92|] 5 10
喜欢可以在这里完成
Array.sub [|5..20|] 3 10
您忘记写预期结果了。
您可以使用 take
和 skip
作为评论中的链接答案:
let sublist sequ (i:int) (n:int) =
sequ |> Seq.skip i |> Seq.take (n-1)
请注意,如果您正在处理数组,则可以使用数组切片:
[|25..92|].[5..10]
>
val it : int [] = [|30; 31; 32; 33; 34; 35|]
[|5..20|].[3..10]
>
val it : int [] = [|8; 9; 10; 11; 12; 13; 14; 15|]