今回は、Pythonの辞書にキーが存在するかどうかを確認する4つの方法を取り上げます。
Python辞書は基本的にデータ構造であり、データ項目はキーと値のペアで保存されます。
テクニック1: ‘in’ 演算子でPython辞書にキーが存在するかどうかをチェックする
Python の in
演算子は if 文
と共に、入力された Python 辞書内に特定のキーが存在するかどうかをチェックするために使うことができます。
Python の in 演算子は基本的に、特定の要素や値がリスト、タプル、辞書などの特定のシーケンスに含まれているかどうかをチェックします。
構文は以下の通りです。
for / if value in iterable:
|
例えば、以下の様になります。
inp_dict = { 'Python' : "A" , 'Java' : "B" , 'Ruby' : "C" , 'Kotlin' : "D" }
search_key = 'Ruby'
if search_key in inp_dict:
print ( "The key is present. )
else :
print ( "The key does not exist in the dictionary." )
|
上記の例では、Python の in
演算子と一緒に if 文を使用して、キー ‘Ruby’ が dict に存在するかどうかをチェックしています。
出力は以下の通りです。
The key is present.
|
テクニック2: Pythonのkeys()メソッド
Python に組み込まれている `keys() メソッドを使うと、既存の辞書にキーがあるかどうかを調べることができます。
構文は以下の通りです。
dict .keys()
|
keys() メソッドは引数を取らず、特定の入力辞書に存在するすべてのキーのリストを表すオブジェクトを返します。
そこで、特定のキーがdictに存在するかどうかをチェックするために、keys()メソッドと一緒にPython if文
を使用して、search_keyとkeys()メソッドから返されるキーのリストを比較します。
もしキーが存在すれば、if部分の文に続き、そうでなければ else
部分の文にジャンプします。
例えば、以下の様になります。
inp_dict = { 'Python' : "A" , 'Java' : "B" , 'Ruby' : "C" , 'Kotlin' : "D" }
search_key = 'Ruby'
if search_key in inp_dict.keys():
print ( "The key is present. )
else :
print ( "The key does not exist in the dictionary." )
|
結果は以下の通りです。
The key is present.
|
例2:
inp_dict = { 'Python' : "A" , 'Java' : "B" , 'Ruby' : "C" , 'Kotlin' : "D" }
search_key = 'Cpp'
if search_key in inp_dict.keys():
print ( "The key is present. )
else :
print ( "The key does not exist in the dictionary." )
|
結果を出力すると、以下の様になります。
The key does not exist in the dictionary.
|
テクニック3: get() メソッドでPython辞書にキーが存在するかどうかを確認する
Pythonの get() メソッド
は、辞書のキーと値のペアに特定のキーが存在するかどうかをチェックするために使用できます。
get()メソッドは、キーが辞書に存在する場合はそのキーに関連付けられた値を返し、そうでない場合は’None’を返します。
構文は以下の様な感じです。
dict .get(key, default = None )
|
検索するキーを get() メソッドの引数として渡し、get() 関数が None
を返さない場合、つまりキーが辞書に存在する場合は、そのキーを表示します。
例として以下の様になります。
inp_dict = { 'Python' : "A" , 'Java' : "B" , 'Ruby' : "C" , 'Kotlin' : "D" }
if inp_dict.get( 'Python' )! = None :
print ( "The key is present. )
else :
print ( "The key does not exist in the dictionary." )
|
結果は以下の通りです。
The key is present.
|
テクニック4:Pythonのhas_key()メソッド
Note: Python バージョン 3 以降、has_key() メソッドは省略されました。
Python の has_key() メソッドは、特定のキーが dict で利用可能かどうかをチェックして True を返し、それ以外の場合は False を返します。
構文は以下の様な感じです。
dict .has_keys()
|
例えば、以下の様になります。
inp_dict = { 'Python' : "A" , 'Java' : "B" , 'Ruby' : "C" , 'Kotlin' : "D" }
search_key = 'Kotlin'
if inp_dict.has_key(search_key):
print ( "The key is present. )
else :
print ( "The key does not exist in the dictionary." )
|
まとめ
この記事では、Python辞書にキーが存在するかどうかをチェックするためのさまざまなテクニックを紹介し、理解しました。
Python辞書についてより詳しく知るために、以下の記事を読むことをお勧めします。
- Python辞書