edge_boundary#
- edge_boundary(G, nbunch1, nbunch2=None, data=False, keys=False, default=None)[source]#
返回
nbunch1
的边边界。集合 *S* 关于集合 *T* 的*边边界*是边 (*u*, *v*) 的集合,其中 *u* 属于 *S* 且 *v* 属于 *T*。如果未指定 *T*,则假定 *T* 是不属于 *S* 的所有节点的集合。
- 参数:
- GNetworkX 图
- nbunch1可迭代对象
图中的节点可迭代对象,表示将返回其边边界的节点集合。(这是上述定义中的集合 *S*。)
- nbunch2可迭代对象
表示目标(或“外部”)节点集合的节点可迭代对象。(这是上述定义中的集合 *T*。)如果未指定,则假定这是
G
中不属于nbunch1
的所有节点的集合。- keys布尔值
此参数与
MultiGraph.edges()
中的含义相同。- data布尔值或对象
此参数与
MultiGraph.edges()
中的含义相同。- default对象
此参数与
MultiGraph.edges()
中的含义相同。
- 返回值:
- 迭代器
一个迭代器,遍历
nbunch1
关于nbunch2
的边界中的边。如果指定了keys
、data
或default
,且G
是多重图,则边将带有关联键和/或数据返回,如同MultiGraph.edges()
中所示。
注意
nbunch
中任何不在图G
中的元素都将被忽略。nbunch1
和nbunch2
通常应是不相交的,但为了速度和通用性,此处不强制要求。示例
>>> 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)] ----
其他后端也实现了此函数
graphblas : 支持 OpenMP 的稀疏线性代数后端。