文法・環境 辞書

【python】辞書(dict)のキー(key)や値(value)の存在確認、存在しない場合の処理の記述方法

pythonで、辞書のキー(key)と値(value)の存在を確認する方法について紹介します。

また、キーが存在しなかった場合に処理を実行する記述方法なども併せて紹介します。

本記事では、下記の内容を紹介しています。

この記事で分かること

  • キーの存在を確認する方法
  • 値の存在を確認する方法
  • キーと値、両方の存在を確認する方法
  • キーが存在しない場合に処理を実行する方法

なお、"キー"、"値"、"キーと値" 両方の存在を確認する際に、

それぞれ辞書のkeysメソッド、valuesメソッド、itemsメソッドを使用します

各メソッドの使い方については、下記の記事で詳しく紹介しているので併せて参考にしてみてください。

スポンサーリンク

辞書のキー(key)の存在を確認する方法

はじめに、辞書のキーの存在を確認する方法について紹介します。

辞書のキーの存在を確認する場合は、辞書に含まれるすべてのキーを取得できる "keysメソッド" を利用します。

存在する場合の確認方法【in 演算子】

辞書のキーの存在を確認する場合は、" in 演算子" を使用します。

辞書に特定のキーが存在する場合はTrue存在しない場合はFalseを返します。

書き方

キー in 辞書.keys( )

以下、辞書のキーの存在を確認するサンプルコードです。

### 辞書のキーの存在を確認する
fruits_dict = {'Apple':150, 'Banana':200, 'Orange':100, 'Grape':500, 'Lemon':100}
print(fruits_dict)
# {'Apple': 150, 'Banana': 200, 'Orange': 100, 'Grape': 500, 'Lemon': 100}

print(fruits_dict.keys())
# dict_keys(['Apple', 'Banana', 'Orange', 'Grape', 'Lemon'])

print('Banana' in fruits_dict.keys())
# True
print('Peach' in fruits_dict.keys())
# False

なお、キーに限っては、keysメソッドを使わず、辞書そのものにin 演算子を適用しても確認できます

### keysメソッドを用いず、辞書のキーの存在を確認する
fruits_dict = {'Apple':150, 'Banana':200, 'Orange':100, 'Grape':500, 'Lemon':100}
print(fruits_dict)
# {'Apple': 150, 'Banana': 200, 'Orange': 100, 'Grape': 500, 'Lemon': 100}

print('Banana' in fruits_dict)
# True
print('Peach' in fruits_dict)
# False

存在しない場合の確認方法【not in】

存在しないことを確認する場合は、" not in 演算子" を使用します。

以下、"not in 演算子"を用いて、特定のキーが存在しないことを確認するサンプルコードです。

### 辞書のキーが存在しないことを確認する
fruits_dict = {'Apple':150, 'Banana':200, 'Orange':100, 'Grape':500, 'Lemon':100}
print(fruits_dict)
# {'Apple': 150, 'Banana': 200, 'Orange': 100, 'Grape': 500, 'Lemon': 100}

print(fruits_dict.keys())
# dict_keys(['Apple', 'Banana', 'Orange', 'Grape', 'Lemon'])

print('Banana' not in fruits_dict.keys())
# False
print('Peach' not in fruits_dict.keys())
# True

スポンサーリンク

辞書の値(value)の存在を確認する方法

辞書の値の存在を確認する方法について紹介します。

辞書の値の存在を確認する場合は、辞書に含まれるすべての値を取得できる "valuesメソッド" を利用します。

書き方

値 in 辞書.values( )

以下、辞書の値の存在を確認するサンプルコードです。

### 辞書の値の存在を確認する
fruits_dict = {'Apple':150, 'Banana':200, 'Orange':100, 'Grape':500, 'Lemon':100}
print(fruits_dict)
# {'Apple': 150, 'Banana': 200, 'Orange': 100, 'Grape': 500, 'Lemon': 100}

print(fruits_dict.values())
# dict_values([150, 200, 100, 500, 100])

print(100 in fruits_dict.values())
# True
print(300 in fruits_dict.values())
# False

辞書のキー(key)と値(value)、両方の存在を確認する方法

辞書の"キーと値"両方の存在を確認する方法について紹介します。

辞書の"キーと値"両方の存在を確認する場合は、辞書に含まれるすべてのキーと値を取得できる "itemsメソッド" を利用します。

なお、存在を確認する "キーと値" は、タプルで指定します。

書き方

(キー, 値) in 辞書.values( )

以下、辞書の "キーと値" 両方の存在を確認するサンプルコードです。

"キーと値" 両方が一致した場合のみ、Trueが返されます

### 辞書のキーと値の存在を確認する
fruits_dict = {'Apple':150, 'Banana':200, 'Orange':100, 'Grape':500, 'Lemon':100}
print(fruits_dict)
# {'Apple': 150, 'Banana': 200, 'Orange': 100, 'Grape': 500, 'Lemon': 100}

print(fruits_dict.items())
# dict_items([('Apple', 150), ('Banana', 200), ('Orange', 100), ('Grape', 500), ('Lemon', 100)])

print(('Banana', 200) in fruits_dict.items())
# True
print(('Banana', 300) in fruits_dict.items())
# False

スポンサーリンク

辞書のキー(key)が存在しない場合に処理を実行する方法

次に、辞書のキーが存在しない場合に、処理を行う例について紹介します。

辞書に、"キーと値"の要素を追加する場合、すでに存在しているキーを指定してしまうと、値が上書きされてしまいます。

以下のサンプルコードでは、値の上書きを防ぐためにキーが存在するか確認し

キーが存在しない場合は、"キーと値"の要素を追加しています。

### 辞書のキーが存在しない場合に、要素を追加
fruits_dict = {'Apple':150, 'Banana':200, 'Orange':100, 'Grape':500, 'Lemon':100}
print(fruits_dict)
# {'Apple': 150, 'Banana': 200, 'Orange': 100, 'Grape': 500, 'Lemon': 100}

fruit_key = 'Peach'
fruit_value = 200

if fruit_key not in fruits_dict.keys() :
    fruits_dict[fruit_key] = fruit_value

print(fruits_dict)
# {'Apple': 150, 'Banana': 200, 'Orange': 100, 'Grape': 500, 'Lemon': 100, 'Peach': 200}

この処理は、辞書のsetdefaultメソッドを用いると一行で記述できます。

以下で、setdefaultメソッドについて解説します。

辞書のキーが存在しない場合に、値を追加する方法【setdefaultメソッド】

辞書のsetdefaultメソッドを用いると、辞書のキーを指定して値を登録できます

setdefaultメソッドを用いるメリットとして、すでにキーが存在していた場合は値が上書きされません

書き方

辞書.setdefault(キー, 値)

以下、setdefaultメソッドを用いて、キーが存在するか確認し、存在しない場合は値を追加するサンプルコードです。

### setdefaultメソッドを用いて、キーが存在しない場合は値を追加する
fruits_dict = {'Apple':150, 'Banana':200, 'Orange':100, 'Grape':500, 'Lemon':100}
print(fruits_dict)
# {'Apple': 150, 'Banana': 200, 'Orange': 100, 'Grape': 500, 'Lemon': 100}

fruit_key = 'Peach'
fruit_value = 200

fruits_dict.setdefault('Peach', 200)

print(fruits_dict)
# {'Apple': 150, 'Banana': 200, 'Orange': 100, 'Grape': 500, 'Lemon': 100, 'Peach': 200}

スポンサーリンク

まとめ

pythonの辞書のキーと値の存在を確認する方法について紹介しました。

辞書のキーと値の取得方法についても、知っておくべき基本的な内容になります。

下記の記事で詳しく紹介しているので、併せて参考にしてみてください。

スポンサーリンク

-文法・環境, 辞書
-,