我正在嘗試從我的字典中創建“子,父”字典。我怎樣才能做到這一點?
這是我的字典:
{"S?d?ka":[{"Aziz":[{"Ahmet":[{"Kuzey":[]}],"?znur":[{"Elif":[]},{"Yi?it":[]}],"?lknur":[{"Nurullah":[]},{"Bü?ra":[]}],"?lker":[{"Melih":[]}]}]}]}
從左到右的祖先正在成長。S?d?ka 是盛大的祖母,阿齊茲是她的兒子。而“ahmet, ?znur,ilknur,ilker”是“aziz”的孩子等等。我想要一本這樣的字典:
{'S?d?ka':[{'Aziz':[{'Ahmet':[{'Kuzey':[]}],'?znur':[{'Elif':[]},{'Yi?it':[]}],'?lknur':[{'Nurullah':[]},{'Bü?ra':[]}],{'?lker':[{'Melih':[]}]}]
我認為我需要一個非常好的演算法。有什么幫助嗎?
uj5u.com熱心網友回復:
您可以對任務使用遞回:
d = {
"S?d?ka": ["Aziz"],
"Aziz": ["Ahmet", "?znur", "?lknur", "?lker"],
"Ahmet": ["Kuzey"],
"?znur": ["Elif", "Yi?it"],
"?lknur": ["Nurullah", "Bü?ra"],
"?lker": ["Melih"],
}
def get_tree(root):
return {root: [get_tree(v) for v in d.get(root, [])]}
print(get_tree("S?d?ka"))
印刷:
{
"S?d?ka": [
{
"Aziz": [
{"Ahmet": [{"Kuzey": []}]},
{"?znur": [{"Elif": []}, {"Yi?it": []}]},
{"?lknur": [{"Nurullah": []}, {"Bü?ra": []}]},
{"?lker": [{"Melih": []}]},
]
}
]
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/469270.html
