python anytree_如何对一棵树进行可视化(python anytree 简易实现)

Python 中有个很酷的第三方包叫做anytree

,全名 Any Python Tree Data,i.e. 期望用来表示任何树的数据结构。

而其中的可视化功能,每次都令人印象深刻。这篇文章简单分享,个人解决问题的思考路径 & 简易实现~

>> ...

>> r = RenderTree(root)

>> print(r)

Node('/A')

├── Node('/A/B')

│ ├── Node('/A/B/D')

│ │ └── Node('/A/B/D/F')

│ │ └── Node('/A/B/D/F/G')

│ └── Node('/A/B/E')

└── Node('/A/C')

1 问题拆解

一开始看到这个问题,可能有些没有头绪,但有没有可能对该问题进行分解

.

.

.

.

.

.

.

.

.

一棵树的可视化,分解为:

每一行的显示,由三个部分组成

填充(│

)

前缀(├──

or└──

)

节点自身

从上至下打印的顺序(深度优先遍历)

2 实现

2.1 定义「行」的数据结构

行(Row)与节点一一对应,其中包含两个元素:

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值