當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。