gpt4 book ai didi

python - 获取 pydot 中有向图的所有叶节点

转载 作者:行者123 更新时间:2023-11-30 23:18:58 25 4
gpt4 key购买 nike

我使用 pydot 创建一个有向树并将其可视化。很好,但我还想检索树的叶节点。我怎样才能做到这一点?

一般来说,问题是如何访问存储在 pydot 对象内的节点和边。 pydot 是否提供此功能或者它只是一个可视化引擎?

最佳答案

本质上只是一个可视化引擎。但有一些功能可以用来解决您的问题:

>>> import pydot
>>> g = pydot.Dot(graph_type="digraph")
>>> g.add_node(pydot.Node(name="A"))
>>> g.add_node(pydot.Node(name="B"))
>>> g.add_node(pydot.Node(name="C"))
>>> g.add_node(pydot.Node(name="D"))
>>> g.add_edge(pydot.Edge("A","B"))
>>> g.add_edge(pydot.Edge("A","C"))
>>> g.add_edge(pydot.Edge("C","D"))
>>> g.get_nodes()
[<pydot.Node object at 0x1de1510>, <pydot.Node object at 0x1de1590>, <pydot.Node object at 0x7fb93407afd0>, <pydot.Node object at 0x1dd20d0>]
>>> leafs = {n.get_name():True for n in g.get_nodes()}
>>> for e in g.get_edge_list():
... leafs[e.get_source()] = False
...
>>> leafs
{'A': False, 'C': False, 'B': True, 'D': True}

它应该适合你。

关于python - 获取 pydot 中有向图的所有叶节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26400773/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com