鉴于这种:
[
("A","A122");
("A","A123");
("B","B122");
("B","B123");
("C","C122");
]
Run Code Online (Sandbox Code Playgroud)
是否有标准功能来实现这一目标?
[
("A",["A122";"A123"]);
("B",["B122";"B123"]);
("C",["C122"])
]
Run Code Online (Sandbox Code Playgroud)
我想到了Seq.distinctBy,List.partition,Set,Map,但它们似乎都不是我想要的.
谢谢...在我等待的时候,我会尝试自己动手:)
傻我,我没注意到Seq.groupBy!
[
("A","A122");
("A","A123");
("B","B122");
("B","B123");
("C","C122");
]
|> Seq.groupBy (fun (a, b) -> a)
|> Seq.map (fun (a, b) -> (a, Seq.map snd b))
Run Code Online (Sandbox Code Playgroud)
输出:
seq
[("A", seq ["A122"; "A123"]); ("B", seq ["B122"; "B123"]);
("C", seq ["C122"])]
Run Code Online (Sandbox Code Playgroud)