Дан словарь, в котором в качестве ключей используются строки, а в качестве значений строки или словари. Необходимо сделать этот словарь “плоским”, но сохранить структуру в ключах. Результатом будет словарь без вложенных словарей. Ключи должны содержать путь, составленный из родительских ключей из начального словаря, разделенных “/”. Если значение ключа есть пустой словарь, тогда оно должно быть заменено пустой строкой (“”).
Никак не пойму как изменить этот код:
def flatten(dictionary):
stack =
result = {}
while stack:
path, current = stack.pop()
for k, v in current.items():
if isinstance(v, dict):
stack.append((path + (k,), v))
else:
result = v
return result
Ввод:
print (flatten({“key”: {“deeper”: {“more”: {}}}}))
Вывод : {}
А должен быть : {“key/deeper/more”: “ ”}