def solution(dict, output, ini):
if (dict == None):
return None
else:
for key in dict:
if str(type(dict[key])) != str(type({})):
print(key)
output[ini + key] = dict[key]
else:
return solution(dict[key], output, ini + key + '.')
return output
a = {
'Key1': '1',
'Key2': {
'a': '2',
'b': '3',
'c': {
'd': '3',
'e': '1'
}
}
}
print(solution(a, {}, ""))
你好,我正在試圖做一個功能,展平嵌套字典。爲什麼此輸出每次都會返回不同的值?
例如一個應該打印:
{'Key2.b': '3', 'Key1': '1', 'Key2.c.d': '3', 'Key2.a': '2', 'Key2.c.e': '1'}
但現在的代碼隨機給我回了正確的答案,但是從一系列的0-5如
{'Key2.b': '3', 'Key1': '1', 'Key2.c.d': '3', 'Key2.a': '2'},
{'Key2.b': '3', 'Key2.c.d': '3'}
我發現如果我在我的其他語句中擺脫「返回」,它會起作用,但我不確定這是爲什麼?任何人都可以幫助我