「セットの辞書」に似たものにデータを効率的に格納する必要があります。それぞれの一意のキーに一致する複数の(一意の)値を持つ辞書があります。私のデータのソースは(あまりよくない)構造化XMLです。
私の考えは、いくつかの要素を調べてキーを見つけることです。キーが存在しない場合は、ディクショナリに追加します。すでに存在する場合は、対応するキーに新しい値を追加します。
結果は次のようになります。
{
'key1': {'1484', '1487', 1488', ...}
'key2': {'1485', '1486', '1489', ...}
'key3': {'1490', '1491', '1492', ...}
...
}
外出先で新しいキーを追加する必要があります。各セットに一意の値をプッシュする必要があります。辞書全体を繰り返し処理できるようにする必要があります。
これが実現可能かどうかはわかりませんが、誰かが私を正しい方向に押してくれれば、ありがたいです。
私はこれをベンチマークするつもりはありませんが、私の経験では、ネイティブ辞書はより高速です
store = {}
for key, value in yoursource:
try:
store[key].add(value)
except KeyError:
store[key] = {value}
from collections import defaultdict
mydict = defaultdict(set)
mydict["key1"] |= {'1484', '1487', '1488'}
反復は通常の口述と同じです。