Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/299.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在networkx有向图中迭代和删除特定边_Python_Python 3.x_Graph_Networkx - Fatal编程技术网

Python 如何在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]) 如何迭代所有

我在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])

如何迭代所有边并反转所有负边?

在迭代时更改迭代元素是有害的;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])