История изменений
Исправление KillTheCat, (текущая версия) :
Как-то так:
def find_all_keys(input_dict: dict) -> list:
result = []
for key, val in input_dict.items():
if key.startswith('lib'):
result.append(key)
if isinstance(val, dict):
result.extend(find_all_keys(val))
return result
В 1 строчку:
def find_all_keys(input_dict: dict, sw='lib') -> list:
return (lambda x=[]: [k for k, v in input_dict.items() if (k.startswith(sw) and x.append(k)) or (isinstance(v, dict) and x.extend(find_all_keys(v)))] or x)()
Исходная версия KillTheCat, :
Как-то так:
def find_all_keys(input_dict: dict) -> list:
result = []
for key, val in input_dict.items():
if key.startswith('lib'):
result.append(key)
if isinstance(val, dict):
result.extend(find_all_keys(val))
return result
В 2 строчки:
def find_all_keys(input_dict: dict, sw='lib') -> list:
result = []
return [k for k, v in input_dict.items() if (k.startswith(sw) and result.append(k)) or (isinstance(v, dict) and result.extend(find_all_keys(v)))] or result