Pythonの辞書では、通常、キーを指定して値を取得します。しかし、場合によっては、値からキーを検索したいこともあります。この記事では、Pythonで辞書からキーを値で検索する方法を紹介します。
方法1: forループとif文を使用する
以下のコードは、forループとif文を使用して、辞書からキーを値で検索する基本的な方法を示しています。
dictionary = {'george': 16, 'amber': 19}
search_age = input("Provide age")
for name, age in dictionary.items():
if age == int(search_age):
print(name)
このコードでは、items()
メソッドを使用して辞書の各アイテム(キーと値のペア)を取得し、forループでそれらを反復処理します。各アイテムに対して、if文を使用して値が検索したい値と一致するかどうかを確認します。一致する場合、対応するキー(この場合はname
)が出力されます。
方法2: リスト内包表記を使用する
以下のコードは、リスト内包表記を使用して、辞書からキーを値で検索する別の方法を示しています。
dictionary = {'george': 16, 'amber': 19}
search_age = 19
keys = [k for k, v in dictionary.items() if v == search_age]
print(keys)
このコードでは、リスト内包表記を使用して、値が検索したい値と一致するすべてのキーを新しいリストに収集します。この方法は、辞書に同じ値を持つ複数のキーがある場合に特に便利です。
以上、Pythonで辞書からキーを値で検索する方法を紹介しました。これらのテクニックを使えば、Pythonの辞書をより柔軟に操作することができます。