如何將["one","two","three","four"]
這樣的列表變成類似{"one": {"two": {"three":{"four"}}}}
的列表,其中列表中的每個項目都是字典中其他元素的後代?我認爲它可以在遞歸函數中完成,但我不知道如何。如何將列表轉換爲層次結構dict
這是我的嘗試:
l = ["one","two","three","four"]
d = {}
for v in l[:-1]:
d[v] = {l}
d = d[v]
print(d)
謝謝!
注意,你最後一個元素是*'set' *而不是'dict'。 –
由於python沒有tail-call優化,當輸入的長度太長以至於不能遞歸時,您可能需要重構爲非遞歸或正確處理。見https://stackoverflow.com/questions/13591970/does-python-optimize-tail-recursion – Novaterata