我很難嘗試按照以下方式安排字典給定數字,在輸入框中輸入5
,然後在字典中搜索key=5
,然後在字典中輸入它的第一個值4
並搜索key=4
並把其值分別爲第二和隨後的5
第二值,它是3
和字典搜索key=3
,並把它作爲第三如何安排字典?
值的值將是一個或兩個整數
我在工作繪製一棵二叉樹,所以如果根節點(父母)是5他就會更容易重新成爲第一,那麼它的孩子,孩子等下一
我試着用OrderedDict
安排,但我找不到離開它
有人能幫助我嗎?
輸入:
{8: [9], 3: [6, 8], 4: [2, 1], 5: [4, 3], 6: [0, 7]}
輸出:
{5: [4, 3], 4: [2, 1], 3: [6, 8], 6: [0, 7], 8: [9]}
更新的代碼:
def dfs(cur, prev, edges, res):
for next in edges[cur]:
if next == prev: continue
res.setdefault(cur, []).append(next)
dfs(next, cur, edges, res)
def construct_tree(edges, root):
d = {}
x = []
for edge in edges:
u, v = edge
d.setdefault(u, []).append(v)
d.setdefault(v, []).append(u)
res = {}
dfs(root, -1, d, res)
return res
if __name__ == '__main__':
root_node = 5
edges = [[2, 4], [4, 1], [0, 6], [7, 6], [8, 9], [4, 5], [6, 3], [3, 5], [3, 8]]
print((construct_tree(edges, root_node)))
輸入在哪裏,即密鑰的順序來自哪裏?從輸入或raw_input字面? – timgeb
我想根據詞典中的根節點(鍵)排列它,首先根節點= 5,然後根節點的值,然後在詞典的鍵中搜索它,然後將它放到下一個 – Joe
,結束,如果字典鍵中沒有數值,則繼續 – Joe