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选择排序算法实例总结
Jul 01 Python
Python使用os模块和fileinput模块来操作文件目录
Jan 19 Python
python基础教程项目五之虚拟茶话会
Apr 02 Python
Python常见数据结构之栈与队列用法示例
Jan 14 Python
Python Pillow Image Invert
Jan 22 Python
python3+selenium实现qq邮箱登陆并发送邮件功能
Jan 23 Python
Python 解码Base64 得到码流格式文本实例
Jan 09 Python
python实现翻译word表格小程序
Feb 27 Python
python3.6.5基于kerberos认证的hive和hdfs连接调用方式
Jun 06 Python
pyCharm 实现关闭代码检查
Jun 09 Python
浅谈Python中的正则表达式
Jun 28 Python
Python制作一个随机抽奖小工具的实现
Jul 07 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读取PPT文件的方法
2015/12/10 PHP
php上传图片类及用法示例
2016/05/11 PHP
php中的单引号、双引号和转义字符详解
2017/02/16 PHP
php+javascript实现的动态显示服务器运行程序进度条功能示例
2017/08/07 PHP
JS保存、读取、换行、转Json报错处理方法
2013/06/14 Javascript
jquery使用$(element).is()来判断获取的tagName
2014/08/24 Javascript
JsRender实用入门教程
2014/10/31 Javascript
JavaScript获取网页表单提交方式的方法
2015/04/02 Javascript
jQuery实现简单的图片查看器
2020/09/11 Javascript
vue.js树形组件之删除双击增加分支实例代码
2017/02/28 Javascript
JS实现多张图片预览同步上传功能
2017/06/23 Javascript
深入浅析ES6 Class 中的 super 关键字
2017/10/20 Javascript
vue短信验证性能优化如何写入localstorage中
2018/04/25 Javascript
vue实现动态列表点击各行换色的方法
2018/09/13 Javascript
vue下使用nginx刷新页面404的问题解决
2019/08/02 Javascript
VUE项目中加载已保存的笔记实例方法
2019/09/14 Javascript
python调用windows api锁定计算机示例
2014/04/17 Python
Ubuntu安装Jupyter Notebook教程
2017/10/18 Python
pandas把dataframe转成Series,改变列中值的类型方法
2018/04/10 Python
python 保存float类型的小数的位数方法
2018/10/17 Python
Python(PyS60)实现简单语音整点报时
2019/11/18 Python
tensorflow模型继续训练 fineturn实例
2020/01/21 Python
基于Python爬取fofa网页端数据过程解析
2020/07/13 Python
css3实例教程 一款纯css3实现的环形导航菜单
2014/10/20 HTML / CSS
Pottery Barn阿联酋:购买家具、家居装饰及更多
2019/12/08 全球购物
经典的班主任推荐信
2013/10/28 职场文书
中专生自荐信
2014/06/25 职场文书
三问三解心得体会
2014/09/05 职场文书
给老婆的保证书怎么写
2015/05/08 职场文书
黄河绝恋观后感
2015/06/08 职场文书
2015年初中教师个人工作总结
2015/07/21 职场文书
2015年计算机教师工作总结
2015/07/22 职场文书
安全教育主题班会教案
2015/08/12 职场文书
担保公司2015年终工作总结
2015/10/14 职场文书
党章党规党纪学习心得体会
2016/01/14 职场文书
Apache Hudi的多版本清理服务彻底讲解
2022/03/31 Servers