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节点
节点可以是字符串或数字等。节点必须是可哈希的(且非 None)Python 对象。
- key可哈希标识符,可选(默认=最低未使用的整数)
用于区分一对节点之间的多条边。
- attr关键字参数,可选
边数据(或标签或对象)可以使用关键字参数来赋值。
- 返回:
- 分配给该边的边键(key)。
另请参阅
add_edges_from
添加边的集合
注意
要替换/更新边数据,请使用可选的 key 参数来标识一条唯一的边。否则将创建一条新边。
为加权图设计的 NetworkX 算法不能直接使用多重图,因为不清楚如何处理多重边的权重。转换为使用边属性 'weight' 的 Graph 类型可以启用加权图算法。
默认的 key 是使用方法
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})