<p>作为中间步骤,您可能希望将列表列表(当前不在树的结构中,而是指定树的各个垂直分支)转换为DICT树,其中每个节点都包含对其所有子节点的引用</p>
<p>使用dict从列表列表中构建树,可以非常简单地确保任何给定节点的所有子节点都位于正确的位置(即在该节点下分组):</p>
<pre><code>>>> data = [
['root', 'Parent1', 'Children1', 'Grand Childern 1', 'Great Grand Childern 1'],
['root', 'Parent1', 'Children2', 'Grand Childern 1', 'Great Grand Childern 1'],
['root', 'Parent1', 'Children2', 'Grand Childern 2', 'Great Grand Childern 1'],
['root', 'Parent2', 'Children1', 'Grand Childern 1', 'Great Grand Childern 1'],
['root', 'Parent2', 'Children2', 'Grand Childern 1', 'Great Grand Childern 1']
]
>>> tree = {}
>>> for row in data:
... node = tree
... for cell in row:
... node = node.setdefault(cell, {})
...
>>> tree
{'root': {
'Parent1': {
'Children1': {
'Grand Childern 1': {
'Great Grand Childern 1': {}
}
},
'Children2': {
'Grand Childern 1': {
'Great Grand Childern 1': {}
},
'Grand Childern 2': {
'Great Grand Childern 1': {}
}
}
},
'Parent2': {
'Children1': {
'Grand Childern 1': {
'Great Grand Childern 1': {}
}
},
'Children2': {
'Grand Childern 1': {
'Great Grand Childern 1': {}
}
}
}
}}
</code></pre>
<p>现在,您已经拥有了一个实际树结构中的所有内容,将其转换为您需要的任何更具体的格式(例如,所需的JSON)应该很简单</p>