辞書の値でキーを取得する 質問する

辞書の値でキーを取得する 質問する

年齢を検索しDictionary、一致する名前を表示する関数を作成しました。

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

比較して年齢を調べる方法はわかっていますが、人の名前を表示する方法がわかりません。さらに、KeyError5 行目の because が表示されます。正しくないことはわかっていますが、逆方向に検索する方法がわかりません。

ベストアンサー1

mydict = {'george': 16, 'amber': 19}
print mydict.keys()[mydict.values().index(16)]  # Prints george

または Python 3.x の場合:

mydict = {'george': 16, 'amber': 19}
print(list(mydict.keys())[list(mydict.values()).index(16)])  # Prints george

基本的には、辞書の値をリストに分割し、値の位置を見つけて、その位置にあるキーを取得します。

Python 3 の とkeys()の詳細:.values()辞書から値のリストを取得するにはどうすればよいですか?

おすすめ記事