dict(dictionary・ディクショナリ―・辞書・マッピング型) に キー値が登録済みかを確認するには、in 演算子を使用します。
in 演算子で キーの存在確認を行う方法
結果(true: あり false: なし) = 調べたい値 in 辞書オブジェクト
サンプルコード
# 辞書の生成
testDict = {
100: 'Data100',
200: 'Data200',
300: 'Data300',
}
# 結果 = 'あり'
if 100 in testDict:
print('あり')
else:
print('なし')
# 結果 = 'なし'
if 101 in testDict:
print('あり')
else:
print('なし')
- 9行目: 辞書(dict)に 100 が存在するので、 True を返します。
- 15行目: 辞書(dict)に 101 は存在しないので、 False を返します。
注意
辞書オブジェクト が None(NULL) のときは例外が発生します。例外が発生する例
noneDict = None
# 例外発生
# TypeError: argument of type 'NoneType' is not iterable
if 100 in noneDict:
print('あり')
else:
print('なし')
回避例
noneDict = None
# 結果 = 'なし'
if noneDict and 100 in noneDict:
print('あり')
else:
print('なし')
- 4行目: in 演算子を使用する前に、変数 noneDict が空ではないか、確認しています。
検証環境
- Python 3.9.0 (tags/v3.9.0:9cf6752, Oct 5 2020, 15:34:40) [MSC v.1927 64 bit (AMD64)] on win32
- Microsoft Windows 10 Pro Version 20H2 OS Build 19042.870 Experience: Windows Feature Experience Pack 120.2212.551.0