当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python NetworkX DiGraph.to_undirected用法及代码示例


本文简要介绍 networkx.DiGraph.to_undirected 的用法。

用法:

DiGraph.to_undirected(reciprocal=False, as_view=False)

返回有向图的无向表示。

参数

reciprocal布尔(可选)

如果为 True,则仅保留原始有向图中出现在两个方向上的边。

as_view布尔(可选,默认=假)

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

返回

G图形

如果 (u, v, data) 或 (v, u, data) 在有向图中,则具有相同名称和节点以及边 (u, v, data) 的无向图。如果两条边都存在于有向图中并且它们的边数据不同,则仅创建一条边,并且可以任意选择要使用的边数据。如果需要,您必须手动检查并更正。

注意

如果图中存在两个方向(u,v)和(v,u)的边,则新的无向边的属性将是有向边属性的组合。边数据以遇到边的(任意)顺序更新。要对边属性进行更多自定义控制,请使用add_edge()。

这将返回尝试完全复制所有数据和引用的边、节点和图形属性的“deepcopy”。

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

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

警告:如果您已将DiGraph 子类化以在数据结构中使用dict-like 对象,则这些更改不会转移到由此方法创建的图表中。

例子

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

相关用法


注:本文由纯净天空筛选整理自networkx.org大神的英文原创作品 networkx.DiGraph.to_undirected。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。