Python 辞書の値ごとに複数のキーを割り当てることは可能ですか? 考えられる解決策の 1 つは、各キーに値を割り当てることです。
dict = {'k1':'v1', 'k2':'v1', 'k3':'v1', 'k4':'v2'}
ただし、データ ファイルが 2 GB を超えるため、これはメモリ効率が良くありません。それ以外の場合は、辞書キーの辞書を作成できます。
key_dic = {'k1':'k1', 'k2':'k1', 'k3':'k1', 'k4':'k4'}
dict = {'k1':'v1', 'k4':'v2'}
main_key = key_dict['k2']
value = dict[main_key]
辞書/ファイル全体を2回調べなければならないため、これも非常に時間と労力がかかります。他に簡単で組み込みの Python ソリューションはありますか?
注:私の辞書の値は単純な文字列(質問「v1」、「v2」のように)ではなく、複雑なオブジェクト(さまざまな他の辞書/リストなどが含まれており、それらをピクルすることはできません
)同じ辞書値にキーとインデックスの両方を使用していますか?
しかし、私は順序付けられた/索引付けされた辞書を探しているのではなく、この質問で言及されている2つ以外の他の効率的なソリューション(もしあれば)を探しています。