如何在F#中的Seq,List或Array中查找max的索引

Yin*_*Zhu 3 f# functional-programming

Seq.max找到最大数量.我想要有类似的东西Seq.findIndex

Seq.maxIndex 返回最大元素的索引.

Joh*_*bom 14

我相信你正在寻找类似的东西:

let maxIndex seq = 
    fst (Seq.maxBy snd (Seq.mapi (fun i x -> i, x) seq))
Run Code Online (Sandbox Code Playgroud)

请注意,为此函数提供空序列将导致ArgumentException.

(或者,用流水线样式编写:

let maxIndex seq =  
    seq
    |> Seq.mapi (fun i x -> i, x)
    |> Seq.maxBy snd 
    |> fst
Run Code Online (Sandbox Code Playgroud)

)