F#过滤列表

Shi*_*Pie 3 f#

我将如何通过索引过滤掉列表?列表:[400; 5; 401; 6; 403; 7] 过滤列表:[5; 6; 7;]

我想过滤掉奇数索引号。所以我可以比较这些值,然后打印出最大值。

Bat*_*bix 5

一个简单而直接的方法是递归遍历列表并选择每隔一个元素:

let getOddIndexed list =
    let rec aux acc xs =
        match xs with
        | _::x::tail -> aux (x::acc) tail
        | _ -> acc |> List.rev
    aux [] list
Run Code Online (Sandbox Code Playgroud)