Networkx边缘属性

软过程

我有一个这样的有向图-

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]
谢尔多雷

以下是通过遍历edges.data()Graph的一种解决方案PS:我基本上是在JuPyter中使用制表符补全来查找属性,然后通过使用不同的属性来提出以下解决方案。这段代码只会为您提供所需的属性'a'因此,如果将第四个节点添加为G.add_edge('d', 'b', attr=0.7),则输出将[0.6, 0.2, -0.3]是不计算第四个节点的位置。

attributes = []

for edge in G.edges.data():
    if edge[0] == 'a':
        attributes.append(edge[-1]['attr'])
    elif edge[1] == 'a'   :
        attributes.append(-edge[-1]['attr'])

print (attributes)    
# [0.6, 0.2, -0.3]

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章