restricted_view#

restricted_view(G, nodes, edges)[源代码]#

返回 G 的一个视图,其中节点和边被隐藏。

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

参数:
GNetworkX 图
nodes可迭代对象

一个可迭代的节点集合。不在 G 中的节点将被忽略。

edges可迭代对象

一个可迭代的边集合。不在 G 中的边将被忽略。

返回:
subgraph子图视图

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

注意事项

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

如果递归地创建子图的子图,可能会形成一个子图视图链。当链长接近 15 时,此类链会变得相当慢。为避免长链,请尽量基于原始图创建子图。我们没有通过编程方式排除链,以便可以创建诸如 edge_subgraphrestricted_view 等特殊情况。

示例

>>> 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)]