LINUX.ORG.RU

История изменений

Исправление vvn_black, (текущая версия) :

Или в одну строку:

from functools import reduce

def all_keys(input_dict):
    return isinstance(input_dict, dict) \
        and reduce(lambda a, c: a + all_keys(input_dict[c]),
                   input_dict.keys(),
                   [*input_dict.keys(), ]) \
        or []

Исходная версия vvn_black, :

Или в одну строку:

from functools import reduce

def all_keys(input_dict):
    return isinstance(input_dict, dict) \
        and reduce(lambda a, c: a + all_keys(input_dict[c]), \
                   input_dict.keys(),
                   [*input_dict.keys(), ]) \
        or []