Python 如何在networkx有向图中迭代和删除特定边
我在networkx中有一个带正负边的图。我想找到所有的负边并反转它们。我编写了下面的程序来查找和删除负边,但是我得到了一个迭代错误。代码如下:Python 如何在networkx有向图中迭代和删除特定边,python,python-3.x,graph,networkx,Python,Python 3.x,Graph,Networkx,我在networkx中有一个带正负边的图。我想找到所有的负边并反转它们。我编写了下面的程序来查找和删除负边,但是我得到了一个迭代错误。代码如下: for edge in G.edges(): sign = G.get_edge_data(edge[0], edge[1])['sign'] if sign == -1: G.remove_edge(edge[0], edge[1]) G.add_edge(edge[1], edge[0]) 如何迭代所有
for edge in G.edges():
sign = G.get_edge_data(edge[0], edge[1])['sign']
if sign == -1:
G.remove_edge(edge[0], edge[1])
G.add_edge(edge[1], edge[0])
如何迭代所有边并反转所有负边?在迭代时更改迭代元素是有害的;o) 之后再更改即可:
for things in thingsToChange:
G.remove_edge(edge[0], edge[1])
G.add_edge(edge[1], edge[0])
for things in thingsToChange:
G.remove_edge(edge[0], edge[1])
G.add_edge(edge[1], edge[0])