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给文本创立向量空间模型的教程
Apr 23 Python
Python制作Windows系统服务
Mar 25 Python
Python读取数据集并消除数据中的空行方法
Jul 12 Python
python爬取哈尔滨天气信息
Jul 14 Python
深入浅析Python中的迭代器
Jun 04 Python
Python的Tkinter点击按钮触发事件的例子
Jul 19 Python
pytorch-RNN进行回归曲线预测方式
Jan 14 Python
Python中无限循环需要什么条件
May 27 Python
python如何删除列为空的行
Jul 17 Python
Python list和str互转的实现示例
Nov 16 Python
Python自动化爬取天眼查数据的实现
Jun 15 Python
Python预测分词的实现
Jun 18 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处理bmp格式图片的方法分析
2017/07/04 PHP
fckeditor 获取文本框值的实现代码
2009/02/09 Javascript
Knockoutjs快速入门(经典)
2012/12/24 Javascript
js鼠标滑轮滚动事件绑定的简单实例(兼容主流浏览器)
2014/01/14 Javascript
js对象基础实例分析
2015/01/13 Javascript
js限制文本框只能输入整数或者带小数点的数字
2015/04/27 Javascript
JS实现同一个网页布局滑动门和TAB选项卡实例
2015/09/23 Javascript
JavaScript各类型的关系图解
2015/10/16 Javascript
bootstrap daterangepicker汉化以及扩展功能
2017/06/15 Javascript
Vue.js数据绑定之data属性
2017/07/07 Javascript
vuex学习之Actions的用法详解
2017/08/29 Javascript
React Native使用Modal自定义分享界面的示例代码
2017/10/31 Javascript
微信小程序获取手机网络状态的方法【附源码下载】
2017/12/08 Javascript
Vue 按键修饰符处理事件的方法
2018/05/04 Javascript
JavaScript 实现HTML DOM增删改查操作的常见方法详解
2020/01/04 Javascript
[02:42]岂曰无衣,与子同袍!DOTA2致敬每一位守护人
2020/02/17 DOTA
python的socket编程入门
2018/01/29 Python
python内存动态分配过程详解
2019/07/15 Python
pandas read_excel()和to_excel()函数解析
2019/09/19 Python
python输出数组中指定元素的所有索引示例
2019/12/06 Python
Python基于pyjnius库实现访问java类
2020/07/31 Python
OpenCV图片漫画效果的实现示例
2020/08/18 Python
Django REST Framework 分页(Pagination)详解
2020/11/30 Python
css3的transform中scale缩放详解
2014/12/08 HTML / CSS
天巡全球:Skyscanner Global
2017/06/20 全球购物
俄罗斯护发和专业化妆品购物网站:Hihair
2019/09/28 全球购物
自立自强的名人事例
2014/02/10 职场文书
演讲稿的写法
2014/05/19 职场文书
2014年社区国庆节活动方案
2014/09/16 职场文书
党的群众路线教育实践活动整改落实情况报告
2014/10/28 职场文书
领导干部群众路线对照检查材料
2014/11/05 职场文书
企业年会祝酒词
2015/08/11 职场文书
小学家庭教育心得体会
2016/01/14 职场文书
心得体会该怎么写呢?
2019/06/27 职场文书
分享15个Webpack实用的插件!!!
2021/03/31 Javascript
安装配置mysql及Navicat prenium的详细流程
2021/06/10 MySQL