将平面数据转换为分层python列表
问题描述:
我有我的数据库中的数据模型。这是一个按左值排序的扁平python列表。将平面数据转换为分层python列表
> id name left right
> 1 Beginning 1 6
> 2 FOO 2 5
> 3 BAR 3 4
> 4 Programming 6 13
> 5 Python 7 8
> 7 C# 9 12
> 8 XNA 10 11
> 6 About 14 15
我想计算这个到一个层次的python列表,反过来将被转换为HTML/XML作为一个无序列表。 Python列表成为列表中的列表。
例
categories = [
["programming", [
["Python", ["pygame"]],
["C#", ["XNA"]],
]
],
["FOO", [
["BAR"]
]
],
]
答
这是一种改性预购树遍历。
http://www.sitepoint.com/print/hierarchical-data-database/
所以输入看起来像这样,词典列表。
dbrows = [
{'title': 'Food', 'lft': 1, 'rgt': 18},
{'title': 'Fruit', 'lft': 2, 'rgt': 11},
#etc... etc... from the linked article.
]
使用链接文章的水果输入。这是我想要的,按python列表排序。
tree = [
['Food', [
['Fruit', [
['Red', ['Cherry', 'Strawberry']],
['Yellow', ['Banana']],
]],
['Meat', [
['Beef', 'Pork']
]],
]],
]
请给输入和输出的自洽的例子 - 你的榜样输出具有“pygame的”条目这是** **无处您输入例,有哪一个程序可能弥补? – 2009-11-16 04:51:07
你说“按左值排序”,似乎不是,最左列(id),无论如何,行之间的关系如何表示,否则没有办法构建一个嵌套列表 – 2009-11-16 05:06:31