Python多叉树的构造及取出节点数据(treelib)的方法


Posted in Python onAugust 09, 2019

项目:

基于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'

以上这篇Python多叉树的构造及取出节点数据(treelib)的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python读写二进制文件的方法
May 09 Python
Python爬虫模拟登录带验证码网站
Jan 22 Python
Python的Tornado框架实现异步非阻塞访问数据库的示例
Jun 30 Python
Python中使用platform模块获取系统信息的用法教程
Jul 08 Python
python 设置文件编码格式的实现方法
Dec 21 Python
对Python 网络设备巡检脚本的实例讲解
Apr 22 Python
python 实现敏感词过滤的方法
Jan 21 Python
Python使用百度翻译开发平台实现英文翻译为中文功能示例
Aug 08 Python
python实现数据清洗(缺失值与异常值处理)
Dec 02 Python
python自动点赞功能的实现思路
Feb 26 Python
Python反爬虫伪装浏览器进行爬虫
Feb 28 Python
Python分析微信好友性别比例和省份城市分布比例的方法示例【基于itchat模块】
May 29 Python
一行python实现树形结构的方法
Aug 09 #Python
解决django同步数据库的时候app models表没有成功创建的问题
Aug 09 #Python
Python3 venv搭建轻量级虚拟环境的步骤(图文)
Aug 09 #Python
Python Django 命名空间模式的实现
Aug 09 #Python
Mac安装python3的方法步骤
Aug 09 #Python
对python 树状嵌套结构的实现思路详解
Aug 09 #Python
Python  Django 母版和继承解析
Aug 09 #Python
You might like
PHP三种方式实现链式操作详解
2017/01/21 PHP
Aliyun Linux 编译安装 php7.3 tengine2.3.2 mysql8.0 redis5的过程详解
2020/10/20 PHP
工作中常用到的JS表单验证代码(包括例子)
2010/11/11 Javascript
js中判断数字\字母\中文的正则表达式 (实例)
2012/06/29 Javascript
关于extjs treepanel复选框选中父节点与子节点的问题
2013/04/02 Javascript
JavaScript通过正则表达式实现表单验证电话号码
2014/03/07 Javascript
浅谈JavaScript中Date(日期对象),Math对象
2015/02/05 Javascript
解决node-webkit 不支持html5播放mp4视频的方法
2015/03/11 Javascript
javascript+HTML5的canvas实现七夕情人节3D玫瑰花效果代码
2015/08/04 Javascript
js实现向右横向滑出的二级菜单效果
2015/08/27 Javascript
实例详解AngularJS实现无限级联动菜单
2016/01/15 Javascript
Vue实现购物车功能
2017/04/27 Javascript
js模拟百度模糊搜索的实例
2017/08/04 Javascript
详解升级react-router 4 踩坑指南
2017/08/14 Javascript
vue axios 二次封装的示例代码
2017/12/08 Javascript
剖析Angular Component的源码示例
2018/03/23 Javascript
js for终止循环 跳出多层循环
2018/10/04 Javascript
JavaScript Array.flat()函数用法解析
2020/09/02 Javascript
让 python 命令行也可以自动补全
2014/11/30 Python
python+tkinter编写电脑桌面放大镜程序实例代码
2018/01/16 Python
Python基于matplotlib实现绘制三维图形功能示例
2018/01/18 Python
Python实现检测文件MD5值的方法示例
2018/04/11 Python
使用python编写监听端
2018/04/12 Python
Python面向对象之类的内置attr属性示例
2018/12/14 Python
Python闭包和装饰器用法实例详解
2019/05/22 Python
python2和python3实现在图片上加汉字的方法
2019/08/22 Python
numpy.random.shuffle打乱顺序函数的实现
2019/09/10 Python
Django框架实现在线考试系统的示例代码
2020/11/30 Python
英国领先的奢侈品零售商之一:CRUISE
2016/12/02 全球购物
Goodee官方商店:迷你投影仪
2021/03/15 全球购物
25道Java面试题集合
2013/05/21 面试题
信息专业本科生个人的自我评价
2013/10/28 职场文书
读书伴我成长演讲稿
2014/05/07 职场文书
师德师风自查材料
2014/10/14 职场文书
安全生产警示教育活动总结
2015/05/09 职场文书
单位计划生育责任书
2015/05/09 职场文书