PlanarEmbedding.add_weighted_edges_from#
- PlanarEmbedding.add_weighted_edges_from(ebunch_to_add, weight='weight', **attr)#
在
ebunch_to_add
中添加指定权重属性的加权边- Parameters:
- ebunch_to_add边的容器
列表或容器中的每条边都将被添加到图中。边必须以 3-元组 (u, v, w) 的形式给出,其中 w 是一个数字。
- weight字符串, 可选 (默认= ‘weight’)
要添加的边权重的属性名称。
- attr关键字参数, 可选 (默认= 无属性)
要为所有边添加/更新的边属性。
See also
add_edge
添加单条边
add_edges_from
添加多条边
Notes
对于 Graph/DiGraph,添加相同的边两次只会更新边数据。对于 MultiGraph/MultiDiGraph,重复的边会被存储。
- 当从正在更改的图的迭代器中添加边时,可能会引发
RuntimeError
,消息为: RuntimeError: dictionary changed size during iteration
。这发生在图的基础字典在迭代过程中被修改时。为了避免这个错误,请将迭代器评估为一个单独的对象,例如使用list(iterator_of_edges)
,然后将这个对象传递给G.add_weighted_edges_from
。
Examples
>>> G = nx.Graph() # 或 DiGraph, MultiGraph, MultiDiGraph 等 >>> G.add_weighted_edges_from([(0, 1, 3.0), (1, 2, 7.5)])
在传递之前评估边迭代器
>>> G = nx.Graph([(1, 2), (2, 3), (3, 4)]) >>> weight = 0.1 >>> # 通过向所有现有节点添加边来扩展图,增加一个新节点。 >>> # 错误的方式 - 会引发 RuntimeError >>> # G.add_weighted_edges_from(((5, n, weight) for n in G.nodes)) >>> # 正确的方式 - 注意节点 5 不会有自环 >>> G.add_weighted_edges_from(list((5, n, weight) for n in G.nodes))