リスト値を使用した辞書の反転
辞書の反転には、元の辞書のキーと値が交換される新しい辞書の作成が含まれます。元の辞書にリスト値が含まれている場合、Python はリストをハッシュできないため、問題が発生します。
タプル キーにタプルを使用する
この問題に対処する 1 つのアプローチは、次のとおりです。リストの値をタプルに変換します。タプルは不変であり、ハッシュ化できるため、辞書内のキーとして機能できます。
次のコードを考えてみましょう。
<code class="python">inverted_index = {} for key, values in index.items(): for value in values: tuple_key = (key, value) inverted_index.setdefault(tuple_key, []).append(key)</code>
このコードは、タプルの一意の組み合わせごとに新しいキーを作成します。元のキーと値。次に、inverted_index ディクショナリに、反転されたキーと値のペアが設定されます。
一意の値にセットを使用する
あるいは、セットを使用して、反転されたキーと値のペアを処理することもできます。辞書。セットは、一意の要素の順序付けされていないコレクションです。
<code class="python">inverted_index = {} for key, values in index.items(): unique_values = set(values) for value in unique_values: inverted_index.setdefault(value, set()).add(key)</code>
このコードは、元のキーごとに一意の値のセットを作成します。次に、inverted_index 辞書に逆向きのキーと値のペアが入力されます。値は一意の元のキーのセットです。
以上がリスト値を含む辞書を逆順に表示するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。