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


Python NetworkX MultiGraph.add_edge用法及代碼示例


本文簡要介紹 networkx.MultiGraph.add_edge 的用法。

用法:

MultiGraph.add_edge(u_for_edge, v_for_edge, key=None, **attr)

在 u 和 v 之間添加一條邊。

如果節點 u 和 v 不在圖中,它們將被自動添加。

可以使用關鍵字或直接訪問邊的屬性字典來指定邊屬性。請參閱下麵的示例。

參數

u_for_edge, v_for_edge節點

例如,節點可以是字符串或數字。節點必須是可散列的(而不是無)Python 對象。

key可散列標識符,可選(默認=未使用的最小整數)

用於區分一對節點之間的多重邊。

attr關鍵字參數,可選

可以使用關鍵字參數分配邊數據(或標簽或對象)。

返回

分配給邊的邊鍵。

注意

要替換/更新邊數據,請使用可選的 key 參數來標識唯一邊。否則將創建一個新邊。

NetworkX 為加權圖設計的算法不能直接使用多重圖,因為不清楚如何處理多邊權重。使用邊屬性‘weight’ 轉換為圖形以啟用加權圖形算法。

默認 key 是使用 new_edge_key() 方法生成的。可以通過繼承基類並提供自定義 new_edge_key() 方法來覆蓋此方法。

例子

以下都將邊 e=(1, 2) 添加到圖 G:

>>> G = nx.MultiGraph()
>>> e = (1, 2)
>>> ekey = G.add_edge(1, 2)  # explicit two-node form
>>> G.add_edge(*e)  # single edge as tuple of two nodes
1
>>> G.add_edges_from([(1, 2)])  # add edges from iterable container
[2]

使用關鍵字將數據與邊關聯:

>>> ekey = G.add_edge(1, 2, weight=3)
>>> ekey = G.add_edge(1, 2, key=0, weight=4)  # update data for key=0
>>> ekey = G.add_edge(1, 3, weight=7, capacity=15, length=342.7)

對於非字符串屬性鍵,使用下標表示法。

>>> ekey = G.add_edge(1, 2)
>>> G[1][2][0].update({0: 5})
>>> G.edges[1, 2, 0].update({0: 5})

相關用法


注:本文由純淨天空篩選整理自networkx.org大神的英文原創作品 networkx.MultiGraph.add_edge。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。