Python多叉树的构造及取出节点数据(treelib)的方法
作者:qxqxqzz 发布时间:2021-11-07 05:00:16
标签:Python,多叉树,构造,节点
项目:
基于Pymysql的专家随机抽取系统
引入库函数:
>>> import treelib
>>> from treelib import Tree, Node
构造节点类:
>>> class Nodex(object): \
def __init__(self, num): \
self.num = num
构造多叉树:(注意节点的第2个属性已标红,它是节点ID,为str类型,不能与其他节点重复,否则构建节点失败)
>>> tree1 = Tree()
>>> tree1.create_node('Root', 'root', data = Nodex('3'));\
tree1.create_node('Child1', 'child1', parent = 'root', data =Nodex('4'));\
tree1.create_node('Child2', 'child2', parent = 'root', data =Nodex('5'));\
tree1.create_node('Child3', 'child3', parent = 'root', data =Nodex('6'));\
构造结果:
>>> tree1.show()
Root
├── Child1
├── Child2
└── Child3
>>> tree1.show(data_property = 'num')
3
├── 4
├── 5
└── 6
打印节点信息:(其实节点是以字典的形式存储的)
>>> tree1.nodes
{'root': Node(tag=Root, identifier=root, data=<__main__.Nodex object at 0x000002265C6A9550>), 'child1': Node(tag=Child1, identifier=child1, data=<__main__.Nodex object at 0x000002265C6A9E10>)}
取出child1节点存储的数据:
>>> tree1.nodes['child1'].data.num
'4'
来源:https://blog.csdn.net/qxqxqzzz/article/details/81415843


猜你喜欢
- 本文实例为大家分享了python可视化动态CPU性能监控的具体代码,供大家参考,具体内容如下打算开发web性能监控,以后会去学js,现在用m
- Go语言中符号 “ ^ ” 不再用于次方,而是表示“按位异或的运算”具体的运算规则如下:按位异或 ^ : 两位一个为 0, 一个为 1 ,结
- 事务处理的流程示例 database := db.DB tx, err := datab
- set转成list方法如下: list转成set方法如下:s = set('12342212') &n
- 注意:index.html再次声明变量的时候注意空格的问题来源:https://blog.csdn.net/guofeng93/articl
- unplugin-auto-import的配置和eslint报错解决先上官网:unplugin-auto-importunplugin-au
- 本文实例讲述了Python使用微信SDK实现的微信支付功能。分享给大家供大家参考,具体如下:最近一段时间一直在搞微信平台开发,v3.37版本
- anaconda 集成了很多科学计算中所需要的包,如numpy,scipy等等,具体查看anaconda中已经预先安装配置好的包
- 环境:go 1.19.8在读多写少的情况下,即使一段时间内没有写操作,大量并发的读访问也不得不在Mutex的保护下变成串行访问,这种情况下,
- 下面是我写的NumericStepper:谢谢 果果 和 Rimifon , 我对代码进行了完善, 支持自适应小数位数:
- Git的工作方式分为集中式工作流、功能分支工作流、Gitflow工作流和Forking,其中集中式工作流和功能分支工作流是已经使用过的,Gi
- 技术选型公司现在需要开发移动端的h5,使用现在比较流行的vue 2.0开发,使用的脚手架是Vant2,网络访问使用的是axios,路由跳转使
- 接触python已有一段时间了,下面针对python基础知识的使用做一完整梳理:1)避免‘\n'等特殊字符的两种方式:a)利用转义字
- 将 HTML 网页转换为 PDF 是很多人常见的一个需求,在浏览器上,我们可以通过浏览器的“打印”功能直接将网页打印输出为 PDF。但是如果
- 内容摘要:最近在做项目的时候,客户要求表格里的数据可以拖选,于是用JS写了个下面的方法。支持IE、FIREFOX等浏览器。实现对整行、整列数
- 引言最近公司换了电脑,系统也从 win7 升级到 win11,开发环境都重新安装了一遍,然后在 idea 用mvn 执行打包命令 mvn c
- 一、基本介绍在编程中,程序员会经常使用到日期相关的函数,比如:统计某段代码执行花费的时间等等。在 Go 中,开发者为我们提供了 time 包
- 由于 Ubuntu 中的汉字输入实在是太不友好了,所以装了个 搜狗输入法,好不容易把 搜狗输入法装好,本以为可以开开心心的搞代码了,然而。。
- 找到工具》选项》Designers》表设计器和数据库设计器 然后将“阻止保存要求重新创建表的更改” 的这一项的钩钩去掉就OK了
- 摘要:在python的使用过程中,难免会遇到要移除列表中对象的要求。这时可以使用remove函数。对于python中的remove()函数,