ホームページ > バックエンド開発 > Python チュートリアル > Python 辞書で逆引き参照を実行するときに「KeyError」を処理する方法は?

Python 辞書で逆引き参照を実行するときに「KeyError」を処理する方法は?

Mary-Kate Olsen
リリース: 2024-12-14 01:27:11
オリジナル
1010 人が閲覧しました

How to Handle `KeyError` When Performing Reverse Lookups in Python Dictionaries?

Python 辞書の逆引き: 値によるキーの取得

Python 辞書はキーを対応する値にマッピングする効率的な方法を提供しますが、逆引き参照を実行する必要がある状況も考えられます。これは、値があり、関連付けられたキーを見つける必要があるシナリオで便利です。

質問:

名前を年齢にマッピングする辞書があるとします。 。あなたのタスクは、年齢を入力として受け取り、対応する名前を返す関数を作成することです。ただし、スクリプトで KeyError エラーが発生しており、このケースを処理するためにコードを変更するための支援を求めています。

コード:

dictionary = {'george': 16, 'amber': 19}
search_age = raw_input("Provide age")
for age in dictionary.values():
    if age == search_age:
        name = dictionary[age]
        print name
ログイン後にコピー

解決策:

提供されたコードは、辞書の値を反復処理し、辞書の値と比較しようとします。年齢を入力します。一致が見つかった場合、コードは、dictionary[age] を使用して辞書から一致するキーを取得しようとします。ここで KeyError が発生します。

Python で逆引き参照を実行するには、次の 2 つの方法を利用できます。

方法 1:

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

このアプローチには、次を使用してすべてのキーと値のリストを取得することが含まれます。それぞれ mydict.keys() と mydict.values() です。次に、値リストで Index() を使用して入力年齢の位置を見つけ、その位置にあるキーを取得します。

方法 2 (Python 3.x):

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

最初の方法と同様に、このアプローチにはキーと値をリストに変換することが含まれます。ただし、Python 3.x 構文を利用してインデックス作成プロセスを簡素化します。

以上がPython 辞書で逆引き参照を実行するときに「KeyError」を処理する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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