python - 从 networkx 中的图形中删除所有边

标签 python networkx

我执行以下 python 命令,试图从图 G 中删除所有边。

def method(G):
  edges = G.edges()
  G.remove_edges_from(edges)

但它会产生以下错误:

RuntimeError: dictionary changed size during iteration.

看起来命令遍历边,但是当我删除边时,它会在迭代期间修改迭代器,这会导致错误。

我该如何解决这个问题?

最佳答案

您可能需要查看方法 create_empty_copy ,它将没有边的节点复制到一个新图中。文档字面意思是:

Return a copy of the graph G with all of the edges removed.

如果你想保持原图不变,你可以做类似的事情

edges = list(G.edges)

确保在请求移除边缘之前复制边缘。

关于python - 从 networkx 中的图形中删除所有边,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52251556/

相关文章:

python random.randint 以 5 为增量生成 0-100

python-3.x - Networkx 问题 : need to install Graphviz/Pygraphviz (Anaconda 2021. 11,WIN10x64)

python - 基于树状模式创建新列

python - 如何运行x线程数量并等待线程完成

python - 系数应为整数 : sympy diophantine equations

python - 让 Numpy.where 在遇到第一个 true 后停止

python - 给定一个节点集,枚举其上的图

python - 使用 Wine 和 py2exe 从 Python 项目创建 Windows 应用程序

python - 从neo4j查询结果构建NetworkX图?

python - 绘制 networkx.Graph : how to change node position instead of resetting every node?