Python 辞書の値からキーを検索
胡金庫
2023年1月30日
Python
Python Dictionary

辞書は、キーと値のペアのアイテムのコレクションです。辞書に格納されているアイテムは順番がありません。この記事では、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()
メソッドは与えられた引数のインデックスを与えます。value
を index()
メソッドに渡すことで、この値のインデックスを取得することができます。この値のインデックスを用いて生成された値リストにアクセスすることで、キーを取得することができます。
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
チュートリアルを楽しんでいますか? <a href="https://www.youtube.com/@delftstack/?sub_confirmation=1" style="color: #a94442; font-weight: bold; text-decoration: underline;">DelftStackをチャンネル登録</a> して、高品質な動画ガイドをさらに制作するためのサポートをお願いします。 Subscribe
著者: 胡金庫