我在 NetworkX 中有一张图,大致是这样的:
a---b---c---d
|
e---f
我想简化它,删除只有 2 条边的中间节点。
a---b---d
|
f
在 NetworkX 中如何做到这一点?我只看到删除节点方法或契约(Contract)边缘。但这与节点有关。
最佳答案
可以按如下方式进行:
for node in list(G.nodes()):
if G.degree(node) == 2:
edges = list(G.edges(node))
G.add_edge(edges[0][1], edges[1][1])
G.remove_node(node)
关于python - 如何收缩 NetworkX 中只有 2 条边的节点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54286244/