MultiDiGraph.add_edge#

MultiDiGraph.add_edge(u_for_edge, v_for_edge, key=None, **attr)[source]#

在节点 u 和 v 之间添加一条边。

如果节点 u 和 v 尚未在图中,它们将自动被添加。

可以通过关键字或直接访问边的属性字典来指定边的属性。请参见下面的示例。

Parameters:
u_for_edge, v_for_edge节点

节点可以是字符串或数字等。 节点必须是可哈希(且不为 None)的 Python 对象。

key可哈希标识符,可选(默认=最低未使用的整数)

用于区分一对节点之间的多条边。

attr关键字参数,可选

可以使用关键字参数分配边数据(或标签或对象)。

Returns:
分配给边的边键。

See also

add_edges_from

添加一组边

Notes

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

为加权图设计的 NetworkX 算法不能直接用于多重图,因为处理多重边权重的方式不明确。可以使用边属性 ‘weight’ 转换为图来启用加权图算法。

默认键是使用 new_edge_key() 方法生成的。可以通过子类化基类并提供自定义的 new_edge_key() 方法来覆盖此方法。

Examples

以下所有操作都将边 e=(1, 2) 添加到图 G 中:

>>> G = nx.MultiDiGraph()
>>> e = (1, 2)
>>> key = G.add_edge(1, 2)  # 显式的两节点形式
>>> G.add_edge(*e)  # 单条边作为两个节点的元组
1
>>> G.add_edges_from([(1, 2)])  # 从可迭代容器中添加边
[2]

使用关键字将数据关联到边:

>>> key = G.add_edge(1, 2, weight=3)
>>> key = G.add_edge(1, 2, key=0, weight=4)  # 更新 key=0 的数据
>>> key = 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})