我有一个像这样的有向图-
G = nx.DiGraph()
G.add_edge('a', 'b', attr=0.6)
G.add_edge('a', 'c', attr=0.2)
G.add_edge('d', 'a', attr=0.3)
如何迭代节点“a”以获取以下格式的属性
[0.6, 0.2, -0.3]
最佳答案
这应该可以做到,尽管可能有更好的方法:
In [3]: [G[e[0]][e[1]]['attr'] for e in G.out_edges('a')] + [-G[e[0]][e[1]]['attr'] for e in G.in_edges('a')]
Out[3]: [0.6, 0.2, -0.3]
上面的代码使用两个列表推导式循环遍历 a
中的所有出站和入站边缘,并从边缘中选取属性,如果来自入站边缘,则分配一个负值。
关于python - Networkx 边缘属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54263634/