restricted_view#

restricted_view(G, nodes, edges)[source]#

返回一个隐藏节点和边的 G 视图。

生成的子图会过滤掉节点 nodes 和边 edges 。被过滤掉的节点也会过滤掉其所有边。

Parameters:
GNetworkX 图
nodes可迭代对象

一个节点的可迭代对象。在 G 中不存在的节点将被忽略。

edges可迭代对象

一个边的可迭代对象。在 G 中不存在的边将被忽略。

Returns:
subgraph子图视图

一个只读的 G 限制视图,过滤掉节点和边。对 G 的更改会反映在视图中。

Notes

要创建一个具有节点、边和属性的副本的可变子图,请使用 subgraph.copy()Graph(subgraph)

如果你递归地创建子图的子图,可能会得到一连串的子图视图。这样的链在长度接近 15 时会变得非常慢。为了避免长链,请尝试基于原始图创建子图。我们不会在程序上禁止链,以便可以创建像 edge_subgraphrestricted_view 这样的特殊情况。

Examples

>>> G = nx.path_graph(5)
>>> H = nx.restricted_view(G, [0], [(1, 2), (3, 4)])
>>> list(H.nodes)
[1, 2, 3, 4]
>>> list(H.edges)
[(2, 3)]