(listElement) のような要素を含むリストがあります: {e1,e2,e3,e4,e5,e6,e7}
リストのリスト (listOfList) のようなグループです: { {e1,e2,e3,e4}, {e1,e2,e3}, {e2,e3,e4}, {e1,e2}, {e2, e3}, {e3,e4}, {e5}, {e6,e7} }
私が欲しいのは、そのリストを辞書に入れることです>> (dict) そのように:
- キー、(値)
- e1, ({e1,e2,e3,e4},{e1,e2,e3},{e1,e2})
- e2, ({e1,e2,e3,e4},{e1,e2,e3},{e2,e3,e4},{e1,e2},{e2,e3})
- e3, ({e1,e2,e3,e4},{e1,e2,e3},{e2,e3,e4},{e2,e3},{e3,e4})
- e4, (({e1,e2,e3,e4},{e2,e3,e4},{e3,e4})
- e5, ({e5}) = e6, ({e6,e7})
今のところ私はそのようなコードを持っています:
foreach (element in listElement){
var elementListOfList = listOfList,where(e=>e.countain(f));
dict[f.id] = elementListOfList;
}
問題は、ディクショナリのビルドが非常に長すぎることです。これは、ディクショナリに 100 万個の要素があるためです。
for each よりも for を使用するのが最善であることはわかっていますが、他のこともできると確信しています。
私の質問は、誰かが辞書の作成を最適化するアイデアを持っていること、および/またはコードの最適化に役立つサイトや本を持っていることです。