ホームページ >バックエンド開発 >Python チュートリアル >逆引き検索を実行して、Python ディクショナリ内の値に基づいてキーを見つけるにはどうすればよいですか?

逆引き検索を実行して、Python ディクショナリ内の値に基づいてキーを見つけるにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-12-21 12:28:09548ブラウズ

How Can I Perform a Reverse Lookup to Find a Key Based on its Value in a Python Dictionary?

辞書の逆引き: 値からキーを取得する

プログラミングで辞書を扱うとき、多くの場合、特定の値に関連付けられたキーを取得する必要があります。このコンテキストでは、辞書で年齢を検索し、対応する名前を表示することを目的とした関数が表示されます。

KeyError と逆引き参照への対処

指定したコードは、 5 行目の KeyError は、辞書内のキーとして年齢を検索しようとしているためです。これを解決するには、代わりに年齢を値として検索する必要があります。

keys() メソッドと value() メソッドを使用する

この問題に対処するには、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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。