Python 辞書の値からキーを検索

胡金庫 2023年1月30日
  1. dict.items() を使用して Python 辞書の値でキーを検索する
  2. Python 辞書で .keys().values() を使用して値ごとにキーを検索する
Python 辞書の値からキーを検索

辞書は、キーと値のペアのアイテムのコレクションです。辞書に格納されているアイテムは順番がありません。この記事では、Python 辞書で値によるキーを見つけるためのさまざまな方法を紹介します。通常、値はキーを使ってアクセスしますが、ここでは値を使ってキーにアクセスします。ここでは、キーは値に関連付けられた ID です。

dict.items() を使用して Python 辞書の値でキーを検索する

dict.items() メソッドは、辞書の値のキーからなるタプルを個々の要素とするリストを返します。dict.items() の結果を繰り返し処理し、タプルの 2 番目の要素と value を比較することでキーを得ることができます。

コード例:

my_dict = {"John": 1, "Michael": 2, "Shawn": 3}


def get_key(val):
    for key, value in my_dict.items():
        if val == value:
            return key

    return "There is no such Key"


print(get_key(1))
print(get_key(2))

出力:

John
Michael

Python 辞書で .keys().values() を使用して値ごとにキーを検索する

dict.keys() は辞書のキーからなるリストを返し、dict.values() は辞書の値からなるリストを返します。.keys().values() で生成される項目の順序は同じです。

Python リストの index() メソッドは与えられた引数のインデックスを与えます。valueindex() メソッドに渡すことで、この値のインデックスを取得することができます。この値のインデックスを用いて生成された値リストにアクセスすることで、キーを取得することができます。

my_dict = {"John": 1, "Michael": 2, "Shawn": 3}

list_of_key = list(my_dict.keys())
list_of_value = list(my_dict.values())

position = list_of_value.index(1)
print(list_of_key[position])

position = list_of_value.index(2)
print(list_of_key[position])

出力:

John
Michael
著者: 胡金庫
胡金庫 avatar 胡金庫 avatar

DelftStack.comの創設者です。Jinku はロボティクスと自動車産業で8年以上働いています。自動テスト、リモートサーバーからのデータ収集、耐久テストからのレポート作成が必要となったとき、彼はコーディングスキルを磨きました。彼は電気/電子工学のバックグラウンドを持っていますが、組み込みエレクトロニクス、組み込みプログラミング、フロントエンド/バックエンドプログラミングへの関心を広げています。

LinkedIn Facebook

関連記事 - Python Dictionary