【发布时间】:2011-03-09 00:55:56
【问题描述】:
为了生成目录,我在 Python 列表中提供了这些数据:
data = [
{title: 'Section 1', level: 1, page_number: 1},
{title: 'Section 1.1', level: 2, page_number: 2},
{title: 'Section 1.2', level: 2, page_number: 3},
{title: 'Section 2', level: 1, page_number: 4},
{title: 'Section 2.1', level: 2, page_number: 5},
{title: 'Section 3', level: 1, page_number: 6},
]
由此,我想获得这种嵌套结构,更兼容模板引擎的使用:
toc = [
{title: 'Section 1', page_number: 1, sub: [
{title: 'Section 1.1', page_number: 2, sub: []},
{title: 'Section 1.2', page_number: 3, sub: []},
]},
{title: 'Section 2', page_number: 4, sub: [
{title: 'Section 2.1', page_number: 5, sub: []},
]},
{title: 'Section 3', page_number: 6, sub: []},
]
关于如何实现这一点的提示?我尝试使用递归函数,但对于我有限的大脑来说它变得非常棘手。
非常感谢任何帮助。
编辑:添加了一个部分条目最终可以没有子项的事实。很抱歉错过了。
【问题讨论】:
-
不需要递归,循环和栈一样的列表结构也可以工作。
标签: python list recursion tree