Как проитерироваться по вложенному словарю?

Не могу проверить обязательное заполнение ключей key1, key2, key3, key4.

словарь: { "global_key1": { "key1": "value1", "key2": "value2" }, "global_key2": { "key3": "value3", "key4": "value4" } }


Ответы (1 шт):

Автор решения: insolor

Можно просто с помощью for проитерироваться по значениям словаря (где каждое значение - вложенный словарь), в каждом вложенном словаре проверить наличие нужных ключей:

for subdict in d.values():
    for key in ['key1', 'key2', 'key3', 'key4']:
        assert subdict.get(key) is not None

assert написал в pytest-стиле, на unittest будет примерно так:

self.assertIsNotNone(subdict.get(key))
→ Ссылка