Python - Поиск родительских ключей для определенного значения во вложенном словаре

Я пытаюсь обработать вложенный словарь и вернуть вложенные родительские ключи для конкретного значения, когда значение может существовать более одного раза во вложенном словаре. Например:

example_dict = { 'key1' : 'value1',
                 'key2' : 'value2',
                 'key3' : { 'key3a': 'value3a' },
                 'key4' : { 'key4a': { 'key4aa': 'value4aa',
                                       'key4ab': 'value4ab',
                                       'key4ac': 'value1'},
                            'key4b': 'value4b'}
                }

Вы заметите, что «value1» дважды появляется в приведенном выше словаре, и я хотел бы создать функцию, которая возвращает либо один список, либо серию списков, которые идентифицируют разные родительские ключи, которые в данном случае будут «key1». и ('key4', 'key4a', key4ac).

Этот тип проблемы рассматривался в другом месте на этом сайте, когда искомое Значение появлялось только один раз и было легко обработано следующей рекурсивной функцией:

def find_key(d,key):
    for k,v in d.items():
        if isinstance(v,dict):
            p = find_key(v,key)
            if p:
                return [k] + p
        elif v == key:
            return [k]

print find_key(example_dict,'value4ac').

Если вы запустите приведенный выше код в словаре, я получу только один ответ для родительских ключей. Любая помощь будет высоко ценится, спасибо!

Ответы на вопрос(2)

Ваш ответ на вопрос