\

Pythonでは、辞書型のオブジェクトのキーとバリューを入れ替えることができます。これを「逆引き」と呼びます。逆引きを行うには主に2つの方法があります。

  1. 辞書のデータに順番にアクセスし、値を探索する。
  2. キーと値を逆転させた、新しい辞書を作成する。

逆引きが1回限りの場合、1番が効率的です。繰り返し逆引きする場合、2番が効率的です。

以下に具体的なコードを示します。

# サンプルコード
d = {1:'one', 2:'two', 3:'three'}
print(d)

def inverse_lookup(d, x):
    for k,v in d.items():
        if x == v:
            return k

print(inverse_lookup(d, 'two'))  # 値からキーを探索
print(inverse_lookup(d, 'four'))  # 存在しない値からキーを探索

def inverse_dict(d):
    return {v:k for k,v in d.items()}  # キーと値を逆転させた新しい辞書を作成

print(inverse_dict(d))

このコードでは、まず3つの要素を持つ辞書を定義しています。次に、関数inverse_lookupを定義します。この関数は辞書と、検索対象の値を引数に取り、辞書のキーと値に順番にアクセスし、値がマッチした場合に対応するキーを返却します。

また、関数inverse_dictを定義します。この関数はキーと値を逆転させた新しい辞書を返却します。

以上がPythonで辞書型を逆引きする方法になります。この方法を覚えておくと、Pythonプログラミングがより便利になります。

投稿者 admin

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です