MultiDiGraph.to_undirected#

MultiDiGraph.to_undirected(reciprocal=False, as_view=False)[source]#

返回有向图的无向表示。

Parameters:
reciprocalbool (可选)

如果为True,仅保留在原始有向图中双向出现的边。

as_viewbool (可选, 默认=False)

如果为True,返回原始有向图的无向视图。

Returns:
GMultiGraph

一个具有相同名称和节点的无向图, 如果边(u, v, data)在有向图中存在,或者(v, u, data)存在, 则包含边(u, v, data)。如果两条边在有向图中都存在且 它们的边数据不同,则只创建一条边,并任意选择使用哪条边的数据。 如果需要,您必须手动检查和纠正这种情况。

Notes

这返回边、节点和图属性的“深拷贝”,试图完全复制 所有数据和引用。

这与类似的D=MultiDiGraph(G)形成对比,后者 返回数据的浅拷贝。

有关浅拷贝和深拷贝的更多信息,请参阅Python copy模块, https://docs.python.org/3/library/copy.html

警告:如果您已经对MultiDiGraph进行了子类化,以在数据结构中使用类似字典的对象, 那么这些更改不会通过此方法转移到由该方法创建的MultiGraph中。

Examples

>>> G = nx.path_graph(2)  # 或MultiGraph等
>>> H = G.to_directed()
>>> list(H.edges)
[(0, 1), (1, 0)]
>>> G2 = H.to_undirected()
>>> list(G2.edges)
[(0, 1)]