ホームページ > バックエンド開発 > Python チュートリアル > Python で値に基づいて辞書キーを効率的に見つけるにはどうすればよいですか?

Python で値に基づいて辞書キーを効率的に見つけるにはどうすればよいですか?

DDD
リリース: 2024-12-16 15:57:12
オリジナル
327 人が閲覧しました

How Can I Efficiently Find Dictionary Keys Based on Their Values in Python?

辞書の値からキーを検索

Python 辞書で特定の年齢に関連付けられた名前を取得するときに問題が発生しました。より効率的なアプローチでこれを実現する方法を詳しく見てみましょう。

問題

元のコードは、辞書の値を反復処理し、それらを入力と比較しようとします。年。ただし、値を反復処理するだけでは、対応するキーにアクセスできません。これにより、名前を直接取得しようとすると KeyError が発生します。

解決策

特定の値に関連付けられたキーを見つけるには、キーを逆にするメソッドを利用します。キーと値の関係。 Python では、dict.keys() メソッドと dict.values() メソッドを利用してこれを実現できます。

Python 2.x

mydict = {'george': 16, 'amber': 19}
print mydict.keys()[mydict.values().index(16)]  # Prints 'george'
ログイン後にコピー

Python の場合2.x、mydict.values() は値のリストを返します。 Index() を使用すると、リスト内のターゲット値の位置を決定できます。対応するキーは、mydict.keys()[index] を使用して取得できます。

Python 3.x

mydict = {'george': 16, 'amber': 19}
print(list(mydict.keys())[list(mydict.values()).index(16)])  # Prints 'george'
ログイン後にコピー

Python 3.x では、両方の dict .keys() と dict.values() はイテレータを返します。リストを取得するには、上記のように list() を使用して明示的にキャストする必要があります。

結論

このアプローチにより、既知の値に基づいてキーを効率的に取得できます。 Pythonの辞書に載っています。構文はバージョンごとに若干異なる場合があるため、使用している Python のバージョンを必ず考慮してください。

以上がPython で値に基づいて辞書キーを効率的に見つけるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート