2012-11-08 87 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']