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


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。