プログラミングで辞書を扱うとき、多くの場合、特定の値に関連付けられたキーを取得する必要があります。このコンテキストでは、辞書で年齢を検索し、対応する名前を表示することを目的とした関数が表示されます。
指定したコードは、 5 行目の KeyError は、辞書内のキーとして年齢を検索しようとしているためです。これを解決するには、代わりに年齢を値として検索する必要があります。
この問題に対処するには、keys() メソッドと value() メソッドの使用を検討してください。 Python の value() メソッド。これらのメソッドを使用すると、辞書内のキーと値を別々のリストに分離できます。
以下の修正されたコードは、指定された年齢に関連付けられたキーを取得する方法を示しています。
mydict = {'george': 16, 'amber': 19} search_age = raw_input("Provide age") name = mydict.keys()[mydict.values().index(int(search_age))] print(name)
Python の場合3.x では、次のコードを使用できます。
mydict = {'george': 16, 'amber': 19} search_age = input("Provide age") name = list(mydict.keys())[list(mydict.values()).index(int(search_age))] print(name)
このアプローチでは、辞書の値をリストに分割し、その位置を特定します。必要な値を指定して、その位置のキーを取得し、逆引きが正常に完了します。これで、辞書に保存されている任意の年齢に関連付けられた名前を取得できるようになります。
以上が逆引き検索を実行して、Python ディクショナリ内の値に基づいてキーを見つけるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。