networkx最佳实践,同时遍历边缘时获取边缘属性值

langlauf.io

给定边列表(或生成器)。识别具有特定属性值的边缘的最容易理解的方法是什么?例如,所有带有'foo'的'edge_type'的边?

目前,我的代码如下所示:

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'): 
    ...

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章