我是 Python/AnyTree 的新手,我正在尝试获取一份原料清单来制作一堆汉堡(旧金山附近圣巴勃罗港的汉堡- 如果你在该地区,你需要检查一下!!事实上,当你下一次在城里时,这里的获胜答案会给我一个免费的 Harburger!)但我离题了......
问题是如何访问树中的“数量”和“单位”字段?
from anytree import Node, RenderTree, PreOrderIter
Harburger=Node("Harburger", children=[
Node("RoundRoll", qty=1, uom='ea'),
Node("GriddleGhee", qty = 1, uom='gm'),
Node("SmashedBurger", qty = 5, uom='oz')])
print(RenderTree(Harburger))
Node('/Harburger')
├── Node('/Harburger/RoundRoll', qty=1, uom='ea')
├── Node('/Harburger/GriddleGhee', qty=1, uom='gm')
└── Node('/Harburger/SmashedBurger', qty=5, uom='oz')
到目前为止,一切都很好。现在我可以遍历树,例如:
#print ingredients for 5 Harburgers
print([(node.name for node in PreOrderIter(Harburger)])
['Harburger', 'RoundRoll', 'GriddleGhee', 'SmashedBurger']
如何修改此命令以获取 qty 和 uom?
我试过了
print([(node.name, node.qty) for node in PreOrderIter(Harburger)])
只会出错!