Если нужно что-то особенное делать с каждым элементом словаря, то можно создать отдельную функцию и вызывать ее внутри цикла.
Программный код:
def process_item(outer_key, inner_key, value):
print(f'Processing {outer_key} -> {inner_key}: {value}')
data = {
'a': {'key1': 1, 'key2': 2},
'b': {'key3': 3, 'key4': 4}
}
for outer_key, inner_dict in data.items():
for inner_key, value in inner_dict.items():
process_item(outer_key, inner_key, value)
Так можно обработать каждый элемент индивидуально и держать код чистым.