2012-11-08 88 views
0

的dynatree jquery的樹元件可以從下面的格式如下:創建嵌套蟒字典Dynatree

{'title':'a','children':[{'title':'b','children':[{'title':'c','children':[]}]}]} 

我有一個路徑A:B:C。

如何生成嵌套的Python字典,上面給出,將使用給定的路徑?

我有很多不同路徑的其中一些重複 'A:B:C:d',加入新的元素,一些

他們完全不一樣?

+2

已經是一個有效的Python字典?我不確定你的問題是什麼。 – poke

回答

0

分割由:和路徑從最後一個元素開始,封裝每一個到它的容器:

def path_to_tree(p): 
    elems = p.split(':') 
    head = None 
    for elem in reversed(elems): 
     head = {'title': elem, 'children': [] if head is None else [head]} 
    return head 
+0

感謝您的快速響應,這是偉大的,如果我有這樣的多個路徑:'a:b:c:d'和'a:b:e:f'如何合併這些?謝謝 – user1810100

+0

@ user1810100編寫合併字典的遞歸函數會很簡單。當給定路徑爲'a:b:c'和'x:y:z'時,函數應該如何表現並不明顯。結果字典的標題應該是「a」還是「x」? – user4815162342

+0

在這種情況下 - >給定路徑a:b:c和x:y:z - 我們將有兩個分支。感謝您的幫助,顯示字典符號如何工作。太棒了! – user1810100

0
tree = {'title':'a','children':[{'title':'b','children':[{'title':'c','children':[]}]}]} 
print tree['a']['b']['c']