Python: 遍历树添加HTML列表(ul)
我有一段Python代码,用来遍历一个树形结构。我想在这个函数里加上
- 和
- 标签,但我做得不是很成功。我原本以为可以让代码保持简洁,不用太多条件判断,但现在我有点不确定了。
def findNodes(nodes): def traverse(ns): for child in ns: traverse.level += 1 traverse(child.Children) traverse.level -= 1 traverse.level = 1 traverse(nodes)
这是我用来遍历树形结构的基本函数。最终的结果应该是嵌套的
- 和
- 标签。如果需要的话,我可以发一些我自己写的但不工作的例子,不过可能会有点让人困惑。
更新:带参数的例子
def findNodes(nodes): def traverse(ns, level): for child in ns: level += 1 traverse(child.Children, level) level -= 1 traverse(nodes, 1)
- 标签。如果需要的话,我可以发一些我自己写的但不工作的例子,不过可能会有点让人困惑。
1 个回答
2
我去掉了没用的级别参数。至于添加任何文本的部分,就留给读者自己去练习吧。
def findNodes(nodes):
def traverse(ns):
if not ns:
return ''
ret = ['<ul>']
for child in ns:
ret.extend(['<li>', traverse(child.Children), '</li>'])
ret.append('</ul>')
return ''.join(ret)
return traverse(nodes)