edge_boundary#

edge_boundary(G, nbunch1, nbunch2=None, data=False, keys=False, default=None)[source]#

返回 nbunch1 的边缘边界。

集合 S 相对于集合 T 的*边缘边界*是所有边 (u, v) 的集合,其中 uS 中,vT 中。如果未指定 T,则假定它是所有不在 S 中的节点的集合。

Parameters:
GNetworkX 图
nbunch1可迭代对象

图中表示节点集合的可迭代对象,其边缘边界将被返回。(这是上述定义中的集合 S。)

nbunch2可迭代对象

表示目标(或“外部”)节点集合的可迭代对象。(这是上述定义中的集合 T。)如果未指定,则假定它是 G 中所有不在 nbunch1 中的节点集合。

keysbool

此参数与 MultiGraph.edges() 中的含义相同。

databool 或 object

此参数与 MultiGraph.edges() 中的含义相同。

defaultobject

此参数与 MultiGraph.edges() 中的含义相同。

Returns:
迭代器

一个迭代器,遍历 nbunch1 相对于 nbunch2 的边缘边界中的边。如果指定了 keysdatadefault ,并且 G 是多图,则边将返回带有键和/或数据,如 MultiGraph.edges() 中所示。

Notes

任何在 nbunch 中但不在图 G 中的元素将被忽略。

nbunch1nbunch2 通常应是互斥的,但为了速度和通用性,这里并不要求如此。

Examples

>>> G = nx.wheel_graph(6)

当 nbunch2=None 时:

>>> list(nx.edge_boundary(G, (1, 3)))
[(1, 0), (1, 2), (1, 5), (3, 0), (3, 2), (3, 4)]

当 nbunch2 被指定时:

>>> list(nx.edge_boundary(G, (1, 3), (2, 0)))
[(1, 0), (1, 2), (3, 0), (3, 2)]

Additional backends implement this function

graphblas : OpenMP-enabled sparse linear algebra backend.