且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

按F#中的元组分组

更新时间:2023-09-06 21:22:28

一种解决方案:

let tuples = [("A",12); ("A",10); ("B",1);  ("C",2); ("C",1)]
tuples 
|> Seq.groupBy fst 
|> Seq.map (fun (key, values) -> (key, values |> Seq.sumBy snd))

...或不使用管道:

...or without piping:

let tuples = [("A",12); ("A",10); ("B",1);  ("C",2); ("C",1)]
Seq.map (fun (key, group) -> key, Seq.sumBy snd group)
        (Seq.groupBy fst tuples)