为了账号安全,请及时绑定邮箱和手机立即绑定

在 anytree 节点中处理数据

在 anytree 节点中处理数据

森林海 2021-11-23 20:21:38
我希望你们没事。我想操作任何树(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}")现在,如果我将使用字典索引调用对象它会产生错误。错误!---------------------------------------------------------------------------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 文档,但没有找到任何帮助。
查看完整描述

2 回答

?
波斯汪

TA贡献1811条经验 获得超4个赞

我认为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


查看完整回答
反对 回复 2021-11-23
?
神不在的星期二

TA贡献1963条经验 获得超6个赞

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


print(udo.name["man"])

结果:


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

Udo Man is False


查看完整回答
反对 回复 2021-11-23
  • 2 回答
  • 0 关注
  • 290 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信