如何获取节点列表';按顺序';使用python igraph

如何获取节点列表';按顺序';使用python igraph,python,igraph,Python,Igraph,我的代码: from igraph import Graph, plot g = Graph(directed=True) g.add_vertices("A", attributes=dict(operation="-")) g.add_vertices("B", attributes=dict(operation="*")) g.add_vertices("C", attributes=

我的代码:

from igraph import Graph, plot

g = Graph(directed=True)

g.add_vertices("A", attributes=dict(operation="-"))

g.add_vertices("B", attributes=dict(operation="*"))
g.add_vertices("C", attributes=dict(operation=4))
g.add_vertices("D", attributes=dict(operation=8))

g.add_vertices("E", attributes=dict(operation="/"))
g.add_vertices("F", attributes=dict(operation=10))
g.add_vertices("G", attributes=dict(operation=2))

g.add_edges((("A", "B"), ("A", "E")))
g.add_edges((("B", "C"), ("B", "D")))
g.add_edges((("E", "F"), ("E", "G")))

io = [v['operation'] for v in g.vs]
print(*io)
收益率

- * 4 8 / 10 2
4 * 8 - 10 / 2
我想

- * 4 8 / 10 2
4 * 8 - 10 / 2
我在这里搜索了手册:

(这是绘制的图表的图像,有助于将问题可视化。)


我建议使用明确的左侧或右侧注释来增加边

g.add_边([(“A”,“B”),(“A”,“E”)],属性={“side”:[“L”,“R”]})
从根节点开始,您可以递归地构造其左侧和右侧字符串,并按如下方式连接它们(未测试)

def有序(g,节点)->str:
edges=g.相邻(节点)#默认情况下使用mode=OUT
如果len(边)==2:
lhs=下一个(如果边[“侧”]=“L”),则边中边的edge.target_顶点
rhs=下一个(如果边[“侧”]=“R”),则边中边的edge.target_顶点
已订购退货(g,lhs)+节点[“操作”]+已订购退货(g,rhs)
其他:
返回节点['operation']

我建议使用明确的左侧或右侧注释来增加边

g.add_边([(“A”,“B”),(“A”,“E”)],属性={“side”:[“L”,“R”]})
从根节点开始,您可以递归地构造其左侧和右侧字符串,并按如下方式连接它们(未测试)

def有序(g,节点)->str:
edges=g.相邻(节点)#默认情况下使用mode=OUT
如果len(边)==2:
lhs=下一个(如果边[“侧”]=“L”),则边中边的edge.target_顶点
rhs=下一个(如果边[“侧”]=“R”),则边中边的edge.target_顶点
已订购退货(g,lhs)+节点[“操作”]+已订购退货(g,rhs)
其他:
返回节点['operation']