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 fileinput模块使用介绍
Nov 30 Python
Python脚本实现DNSPod DNS动态解析域名
Feb 14 Python
浅谈python中的getattr函数 hasattr函数
Jun 14 Python
python 添加用户设置密码并发邮件给root用户
Jul 25 Python
python批量实现Word文件转换为PDF文件
Mar 15 Python
Python机器学习库scikit-learn安装与基本使用教程
Jun 25 Python
关于python之字典的嵌套,递归调用方法
Jan 21 Python
Python合并同一个文件夹下所有PDF文件的方法
Mar 11 Python
python 通过手机号识别出对应的微信性别(实例代码)
Dec 22 Python
使用Python求解带约束的最优化问题详解
Feb 11 Python
flask开启多线程的具体方法
Aug 02 Python
安装python依赖包psycopg2来调用postgresql的操作
Jan 01 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原创论坛
2006/10/09 PHP
php错误提示failed to open stream: HTTP request failed!的完美解决方法
2011/06/06 PHP
php和mysql中uft-8中文编码乱码的几种解决办法
2012/04/19 PHP
php正则preg_replace_callback函数用法实例
2015/06/01 PHP
PHP实现连接设备、通讯和发送命令的方法
2015/10/13 PHP
用jquery实现自定义风格的滑动条实现代码
2011/04/26 Javascript
JavaScript?Apple设备检测示例代码
2013/11/15 Javascript
深入理解JavaScript中的并行处理
2016/09/22 Javascript
JS简单实现数组去重的方法示例
2017/03/27 Javascript
Node.js  REPL (交互式解释器)实例详解
2017/08/06 Javascript
jQuery实现高级检索功能
2019/05/28 jQuery
在Node.js中将SVG图像转换为PNG,JPEG,TIFF,WEBP和HEIF格式的方法
2019/08/22 Javascript
jQuery实现判断滚动条滚动到document底部的方法分析
2019/08/27 jQuery
js实现自动播放匀速轮播图
2020/02/06 Javascript
element-ui点击查看大图的方法示例
2020/12/14 Javascript
对Python的Django框架中的项目进行单元测试的方法
2016/04/11 Python
Python浅复制中对象生存周期实例分析
2018/04/02 Python
pygame实现俄罗斯方块游戏
2018/06/26 Python
Python读取英文文件并记录每个单词出现次数后降序输出示例
2018/06/28 Python
Python 正则表达式匹配字符串中的http链接方法
2018/12/25 Python
详解Python Matplot中文显示完美解决方案
2019/03/07 Python
Python-while 计算100以内奇数和的方法
2019/06/11 Python
python使用opencv在Windows下调用摄像头实现解析
2019/11/26 Python
css3圆角边框和边框阴影示例
2014/05/05 HTML / CSS
详解HTML5 Canvas绘制不规则图形时的非零环绕原则
2016/03/21 HTML / CSS
JOSEPH官网:英国奢侈时尚品牌
2018/01/31 全球购物
WebSphere 应用服务器都支持哪些认证
2013/12/26 面试题
机电专业毕业生推荐信
2013/11/10 职场文书
师范学院美术系毕业生自我鉴定
2014/01/29 职场文书
行政管理专业求职信
2014/07/06 职场文书
党员先进性教育整改措施
2014/09/18 职场文书
2014年国庆节演讲稿精选范文1500字
2014/09/25 职场文书
劳动保障事务所个人工作总结
2015/08/12 职场文书
2016年村干部公开承诺书(公开承诺事项)
2016/03/25 职场文书
详解MySQL中timestamp和datetime时区问题导致做DTS遇到的坑
2021/12/06 MySQL
Redis官方可视化工具RedisInsight安装使用教程
2022/04/19 Redis