鉴于此:
[
("A","A122");
("A","A123");
("B","B122");
("B","B123");
("C","C122");
]
是否有标准函数来获取此信息?
[
("A",["A122";"A123"]);
("B",["B122";"B123"]);
("C",["C122"])
]
我想到了Seq.distinctBy、List.partition、Set、Map,但似乎都不是我要找的。p>
谢谢...在我等待的时候,我会尝试自己动手:)
最佳答案
愚蠢的我,我没有注意到 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))
输出:
seq
[("A", seq ["A122"; "A123"]); ("B", seq ["B122"; "B123"]);
("C", seq ["C122"])]
关于F# 相当于 toLookup,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1471316/