在 networkx 中找到满足特定条件的边
finding edges in networkx that meet a certain criteria
我有一个 networkx digraph 节点上有属性,我想找到特定节点属性不同的所有边。有没有办法自动执行此操作,还是我必须使用 edge_iter(data=True)
进行迭代并自己找到它们?
这个没有内置函数,但它非常简单:
import networkx as nx
G = nx.Graph()
G.add_node(1,color='red')
G.add_node(2,color='red')
G.add_node(3,color='blue')
G.add_node(4,color='blue')
G.add_edges_from([(1,2),(1,3),(3,4)])
for (u,v) in G.edges_iter():
if G.node[u]['color'] != G.node[v]['color']:
print u,v
我有一个 networkx digraph 节点上有属性,我想找到特定节点属性不同的所有边。有没有办法自动执行此操作,还是我必须使用 edge_iter(data=True)
进行迭代并自己找到它们?
这个没有内置函数,但它非常简单:
import networkx as nx
G = nx.Graph()
G.add_node(1,color='red')
G.add_node(2,color='red')
G.add_node(3,color='blue')
G.add_node(4,color='blue')
G.add_edges_from([(1,2),(1,3),(3,4)])
for (u,v) in G.edges_iter():
if G.node[u]['color'] != G.node[v]['color']:
print u,v