Python で 1 対 1 の関係を表現する必要が生じました。
最も簡単な方法は、タプルのリストを用意することです。[(thing_one, thing_two]
. しかし、これにより、O(N) の翻訳/削除/挿入時間が得られます。理想的ではありません。
one_to_two
次に、2 つの辞書、を使用できます
two_to_one
。これにより、O(1) の翻訳/挿入/削除が得られます。しかし、一方を他方なしで更新することを忘れがちで、この関係を表すために必要なメモリ量が 2 倍になります。これをクラスにラップして全単射を強制することはできますが、それでも情報の重複は解決されません。
このような関係を表す良い方法はありますか? できれば O(1) ops で、データの重複はありませんか? これを処理するPythonモジュールでしょうか?