>> import treelib >>> from treelib import Tree, Node 構(gòu)造節(jié)點(diǎn)類(lèi): >>> class Nodex(object): \ ..."/>
溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Python多叉樹(shù)的構(gòu)造及取出節(jié)點(diǎn)數(shù)據(jù)(treelib)的方法

發(fā)布時(shí)間:2020-08-26 10:55:45 來(lái)源:腳本之家 閱讀:882 作者:qxqxqzz 欄目:開(kāi)發(fā)技術(shù)

項(xiàng)目:

基于Pymysql的專(zhuān)家隨機(jī)抽取系統(tǒng)

引入庫(kù)函數(shù):

>>> import treelib
>>> from treelib import Tree, Node

構(gòu)造節(jié)點(diǎn)類(lèi):

>>> class Nodex(object): \
    def __init__(self, num): \
      self.num = num

構(gòu)造多叉樹(shù):(注意節(jié)點(diǎn)的第2個(gè)屬性已標(biāo)紅,它是節(jié)點(diǎn)ID,為str類(lèi)型,不能與其他節(jié)點(diǎn)重復(fù),否則構(gòu)建節(jié)點(diǎn)失?。?/p>

>>> 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'));\

構(gòu)造結(jié)果:

>>> tree1.show()
Root
├── Child1
├── Child2
└── Child3

>>> tree1.show(data_property = 'num')
3
├── 4
├── 5
└── 6

打印節(jié)點(diǎn)信息:(其實(shí)節(jié)點(diǎn)是以字典的形式存儲(chǔ)的)

>>> 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節(jié)點(diǎn)存儲(chǔ)的數(shù)據(jù):

>>> tree1.nodes['child1'].data.num
'4'

以上這篇Python多叉樹(shù)的構(gòu)造及取出節(jié)點(diǎn)數(shù)據(jù)(treelib)的方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持億速云。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI