networkx 最佳实践在遍历边缘时获取边缘属性值
networkx best practice getting edge attribute value while iterating over edges
给定边列表(或生成器)。识别具有特定属性值的边缘的最可读的方法是什么?例如,'edge_type' 为 'foo'?
的所有边
目前,我的代码如下所示:
for edge in nx_graph.out_edges(my_node):
edge_type = nx_graph[edge[0]][edge[1]]['edge_type']
if edge_type == 'foo':
...
由于括号很多,这不是很容易阅读...
一种更易读的方法:
for edge in G.edges_iter(data=True):
if edge[2]['edge_type']=='foo':
...
但还是不是很清楚(尤其是[2]
)。另外,我不确定如何将它与 out_edges()
一起使用
这里有一个选项
for edge in ((u,v,data) for u,v,data in G.edges_iter(data=True) if data['edge_type']=='foo'):
...
给定边列表(或生成器)。识别具有特定属性值的边缘的最可读的方法是什么?例如,'edge_type' 为 'foo'?
的所有边目前,我的代码如下所示:
for edge in nx_graph.out_edges(my_node):
edge_type = nx_graph[edge[0]][edge[1]]['edge_type']
if edge_type == 'foo':
...
由于括号很多,这不是很容易阅读...
一种更易读的方法:
for edge in G.edges_iter(data=True):
if edge[2]['edge_type']=='foo':
...
但还是不是很清楚(尤其是[2]
)。另外,我不确定如何将它与 out_edges()
这里有一个选项
for edge in ((u,v,data) for u,v,data in G.edges_iter(data=True) if data['edge_type']=='foo'):
...