python – 获取有向图的所有边对. networkx
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python – 获取有向图的所有边对. networkx,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含723字,纯文字阅读大概需要2分钟。
内容图文
![python – 获取有向图的所有边对. networkx](/upload/InfoBanner/zyjiaocheng/733/016871da09da451a8d1c8c1319323e90.jpg)
获得有向图的所有边对的最佳方法是什么.我只需要那些方向相反的边缘.我需要用它来比较关系的对称性.
我寻求以下结果(虽然我不确定是获得结果的最佳形式)
输入:
[(a,b,{'weight':13}),
(b,a,{'weight':5}),
(b,c,{'weight':8}),
(c,b,{'weight':6}),
(c,d,{'weight':3}),
(c,e,{'weight':5})] #Last two should not appear in output because they do not have inverse edge.
输出:
[set(a,b):[13,5],
set(b,c):[8,6]]
这里的序列是导入的,因为它告诉了方向.
我该怎么看?
解决方法:
在迭代边缘时检查反向边是否存在:
In [1]: import networkx as nx
In [2]: G = nx.DiGraph()
In [3]: G.add_edge('a','b')
In [4]: G.add_edge('b','a')
In [5]: G.add_edge('c','d')
In [6]: [(u,v,d) for (u,v,d) in G.edges_iter(data=True) if G.has_edge(v,u)]
Out[6]: [('a', 'b', {}), ('b', 'a', {})]
内容总结
以上是互联网集市为您收集整理的python – 获取有向图的所有边对. networkx全部内容,希望文章能够帮你解决python – 获取有向图的所有边对. networkx所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。