您好,我正在学习如何在python中构建递归函数。Python从列表结构中递归地打印树
我一直在努力争取时间现在如何打印出一个代表列表的树。
树被表示为列表。列表的第一个元素是节点的数据或值,同一列表中的以下元素是节点的子节点,可以有多个子节点。如果列表中的一个元素本身就是一个列表,则会在该位置启动一个新的子树。
基本上我想要做的是打印一个二进制树列表这样的格式,使其更容易阅读。
类似的列表: ['a',['b','c',['d','i'],'e'],'f',['g','h ',['j','k','l','m']]]
并递归地按等级打印出来,看起来像这样。
a
+---b
+---c
+---d
+---i
+---e
+---f
+---g
+---h
+---j
+---k
+---l
+---m
而这里的另一个例子: [ '一个',[ 'B', 'C', 'd'],[ 'E', 'F'], 'G'] 打印出象这个:
a
+---b
+---c
+---d
+---e
+---f
+---g
所以每个孩子出现在孩子的价值之前的“+ ---”。该字符串直接在父值下面开始。级别进一步缩进每个级别4个额外的空间。
我看不到实际的问题。你到目前为止尝试了什么?你究竟在哪里遇到困难? –