2

これを考えると:

[
    ("A","A122");
    ("A","A123");
    ("B","B122");
    ("B","B123");
    ("C","C122");
]

これを取得するための標準関数はありますか?

[
    ("A",["A122";"A123"]);
    ("B",["B122";"B123"]);
    ("C",["C122"])
]

Seq.distinctBy、List.partition、Set、Mapについて考えましたが、どれも私が探しているものではないようです。

ありがとう...私が待っている間、私は自分自身を転がそうとします:)

4

2 に答える 2

7

愚かなことに、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"])]
于 2009-09-24T12:25:32.747 に答える