Python での双方向ハッシュ テーブルの実装
Python の組み込み dict は、キーに基づいた効率的な検索を提供する非常に便利なデータ構造です。ただし、値からの逆引きが必要な場合が発生します。この記事では、双方向ハッシュ テーブルを実装する最も効率的な方法を検討し、既存のソリューションからインスピレーションを受け、特定の要件に対処するために変更された例を提供します。
実装
提示されたソリューション標準の Python の dict を拡張するカスタム クラスの bidict を使用します。これは、bidict が変更されるたびに自動的に更新される追加の逆辞書を維持します。この逆辞書は、その値が割り当てられているキーのリストに値をマップします。
重要なことに、既存のライブラリとは異なり、この実装では同じ値を持つ複数のキーが許可されます。この機能は、特定のシナリオでは非常に重要です。
使用法
bidict クラスは、次の主要なメソッドを使用します。
使用例
<code class="python">bd = bidict({'a': 1, 'b': 2}) print(bd.inverse) # {1: ['a'], 2: ['b']} bd['c'] = 1 print(bd.inverse) # {1: ['a', 'c'], 2: ['b']} del bd['c'] print(bd.inverse) # {1: ['a'], 2: ['b']}</code>
以上が同じ値を持つ複数のキーに対して Python で双方向ハッシュ テーブルを実装するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。