gpt4 book ai didi

python - 从无向 networkx 图中删除自循环

转载 作者:太空狗 更新时间:2023-10-30 00:31:00 25 4
gpt4 key购买 nike

我使用 networkx 从节点列表创建了一个图。它有自循环。如何删除它们?以下是示例:

import networkx as NX
G=NX.Graph()
G.add_edge(1,2)
G.add_edge(1,1)
print (G.edges())

[(1, 2), (1, 1)]

我不想要 (1, 1) 边。

最佳答案

(下面的 networkx 1.x 说明)

如果您使用的是 networkx 2.x,请尝试

G.remove_edges_from(nx.selfloop_edges(G))

如果您有一个 MultiGraph(例如 configuration_model 生成的),如果您有一个带有小错误的旧版本 2.x,这可能不起作用。如果是这样并且您不想升级,那么您需要在删除边缘之前将其转换为列表。

G.remove_edges_from(list(nx.selfloop_edges(G)))

此错误已得到纠正 https://github.com/networkx/networkx/issues/4068 .


版本 1.x(当我最初回答这个问题时),它是:

G.remove_edges_from(G.selfloop_edges())

关于python - 从无向 networkx 图中删除自循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49427638/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com