我希望你们一切都好。
我想操纵任何树(python library)节点中的数据
我将字典存储在节点中,并希望从节点中获取值并对其进行操作。
我的代码:
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文档,但没有找到任何帮助。
答案 0 :(得分:0)
哦!我现在更仔细地阅读了任何树文档之后。这是通过功能名称完成的,该功能名称是节点的功能,并且给出与您分配给节点的名称相同的值(数据,数据结构等)。 码: 数据= { “ man”:错, “山羊”:错误, “狮子”:假, “草”:False } udo =节点(数据) 打印(伪)
print(udo.name["man"])
结果:
Node("/{'man': False, 'goat': False, 'lion': False, 'grass': False}")
Udo Man is False
答案 1 :(得分: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