gio*_*oca 4 python edges igraph vertex
我循环遍历图表的边缘:
for es in graph.es:
....
# v = []
# v = es.vertices()?
...
Run Code Online (Sandbox Code Playgroud)
我可以使用什么方法来获取每条边的源顶点和目标顶点?
dee*_*nes 12
这些是igraph的基本功能,在这里详细描述.如果迭代<EdgeSeq>object(graph.es),则将遍历所有<Edge>对象(此处edge).<Edge>有财产source和target.这些是顶点id,只是整数.您可以<Vertex>通过graph.vs[]以下方式获取相应的对象
for edge in graph.es:
source_vertex_id = edge.source
target_vertex_id = edge.target
source_vertex = graph.vs[source_vertex_id]
target_vertex = graph.vs[target_vertex_id]
# using get_eid() you can do the opposite:
same_edge_id = graph.get_eid(source_vertex_id, target_vertex_id)
same_edge = graph.es[same_edge_id]
# by .index you get the id from the Vertex or Edge object:
source_vertex.index == source_vertex_id
# True
edge.index == same_edge_id
# True
Run Code Online (Sandbox Code Playgroud)
请注意,如果您有定向图,否则源和目标只是两个等效的端点.随着向图你可以使用error = False与get_eid(),然后返回-1的情况下,有在顶点之间的给定的方向上没有边缘.