0

我希望你们都很好。我想操作任何树(python 库)节点中的数据,
我将字典存储在节点中,并希望从节点中获取值并对其进行操作。

我的代码:

data={
            "man":False,
           "goat":False,
           "lion":False,
           "grass":False
          }
udo = Node(data)
print (udo)


print (udo["man"]) 

结果:

Node("/{'man': False, 'goat': False, 'lion': False, 'grass': False}")

现在如果我用 Dictionary 的索引调用对象它会产生一个错误。错误!

---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-27-2d29abc19bbb> in <module>()
      8 print (udo)
      9 
---> 10 print (udo["man"])

TypeError: 'Node' object is not subscriptable

我阅读了 python any-tree 文档,但没有找到任何帮助。

4

2 回答 2

0

哦!我现在得到了更仔细地阅读了任何树文档之后。这是通过函数名称完成的,它是节点的函数,它给出了您分配给节点的相同(值、数据结构..等)。代码:data={ "man":False, "goat":False, "lion":False, "grass":False } udo = Node(data) print (udo)

print(udo.name["man"])

结果:

Node("/{'man': False, 'goat': False, 'lion': False, 'grass': False}")
Udo Man is False
于 2019-03-03T10:13:27.003 回答
0

我认为AnyNode是您正在寻找的

from anytree import AnyNode
data = {
    "man": False,
    "goat": False,
    "lion": False,
    "grass": False
}
a = AnyNode(**data)
print(a)
AnyNode(goat=False, grass=False, lion=False, man=False)
print(a.man)
False
于 2020-01-20T20:28:12.257 回答