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关键字参数,可选

可以使用关键字参数指定边缘数据(或标签或对象)。

返回
指定给边的边关键点。

参见

add_edges_from

添加边集合

笔记

要替换/更新边缘数据,请使用可选的键参数来标识唯一的边缘。否则将创建新边缘。

为加权图设计的networkx算法不能直接使用多重图,因为不清楚如何处理多重边权重。使用边缘属性“weight”转换为图形以启用加权图形算法。

使用该方法生成默认键 new_edge_key() . 通过对基类进行子类化并提供自定义 new_edge_key() 方法。

实例

下面的每一条都向图G添加了额外的边e=(1,2):

>>> 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})