我有一个顶点,例如dic = {'a': 0, 'b': 1, 'c': 2, 'd': 3, 'e': 4, 'f': 5, 'n':6, 'm':7, 'g':8}
我有两列如下代表顶点之间的关系:
a a
b d
e f
c f
n f
m g
我想通过一条边将第一列中的每个顶点与第二列中的相应顶点关联起来。所以a
with a
是代表一个循环。b
with d
很好。e
,c
and n
他们共享同一个顶点f
。而是说e
with f
, c
with f
and n
with f
我们可以说e
, c
and n
with f
.
See: https://www.python.org/doc/essays/graphs/ https://www.python.org/doc/essays/graphs/
graph = {
'a' : [ 'a' ],
'b' : [ 'd' ],
'c' : [ 'f' ],
'd' : [],
'e' : [ 'f' ],
'f' : [],
'g' : [],
'm' : [ 'g' ],
'n' : [ 'f' ]
}
print [ vertex for vertex, edges in graph.items() if 'f' in edges ]
EDIT:
好吧,听起来您只是想要一个函数来根据给定的输入构建图表?
像这样的东西:
def build_graph( vertices, edges ):
graph = dict( (v, list()) for v in vertices.keys() )
for a, b in edges:
graph[ a ].append( b )
return graph
如果您需要帮助将列式数据解析为二元组列表,那么这是完全不同的问题
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)