[("a", 1), ("a", 2), ("a", 111), ("b", 3), ("bb", 1), ("bb", -1), ...]
のようなペア(キー、値)の配列を有し、同様にシーケンスに変換するための最も効果的な方法は何ですか
[("a", [1,2,111]), ("b", [3]), ("bb", [1,-1])]
または類似?
シーケンスは、プロパティを以下ました:それは本当に大きいです(> 2GB)
をこれはSeq.groupByは本当に効果がないと間違った行い、それを行うには、他の方法がありますか?
PS:このシーケンス:
[("a", 1), ("a", 2), ("a", 111), ("bb", 1), ("bb", -1), ("a", 5), ("a", 6), ...]
が
[("a", [1,2,111]), ("bb", [1,-1]), ("a", [5,6]), ...]
として変換されなければならない -
編集#1:固定間違ったサンプル
編集#2:シーケンスであります大きな、怠惰な(または最速の)ソリューションが好ましい
seq.groupbyはどのように間違っていますか? –
@JohnPalmer:groupByは[内部的に辞書](https://github.com/fsharp/fsharp/blob/37a100b7caafde0f4df5a1924c9f65f4a18277a8/src/fsharp/FSharp.Core/seq.fs#L1458)を使用しています。 OPは避けたい彼は 'uniq'に似た振る舞いをしているようだ。 –
@AntonSchwaighofer - groupbyが間違っている理由がたくさんある - 彼の状況に何が適用されるのかをOPに伝えようとしていた - –