Pythonの多次元Dictionary(辞書型)のキー、値の検索・存在確認


Alexaスキルを作っていると、多次元の辞書型を扱うことが多いのですが、

キーの存在確認をする際に、2次元以上、多次元のケースは扱っている文献が見つからなかったので、メモ程度ですが残しておきます。

辞書型の文法については、巷のページで十分カバーされていますので、省略します。

dict.py
#辞書型の宣言
dict = { 'key1' : 'value1' , 'key2' : 'value2' }
dict['key1'] = { 'key1_1' : 'value1_1' , 'key2_1' : 'value2_1' }

'''
#構成はこんな感じ
dict{
    'key1': {
        'key1_1' : 'value1_1',
        'key2_1' : 'value2_1'
    },
    'key2':'value2'
}
'''
print( 'key1_1' in dict )
#2次元目にあるキーは見つからない (False)

print( 'key1_1' in dict['key1'] )
#これで見つかる(True)

dict_key1 = dict['key1']
#2次元目を切り出しても良い
print( 'key1_1' in dict_key1 )
#これでも見つかる(True)

print( 'value2_1' in dict_key1.values() )
#Valueも同じく見つかる(True)

print( 'key2' in dict_key1 )
#当然ながら1次元目のキーは見つからない(False)