MultiGraph.remove_nodes_from#
- MultiGraph.remove_nodes_from(nodes)#
移除多个节点。
- Parameters:
- nodes可迭代容器
包含节点的容器(列表、字典、集合等)。如果容器中的某个节点不在图中,则会静默忽略。
See also
Notes
当从正在迭代的图中移除节点时,会引发`RuntimeError`,消息为:
RuntimeError: dictionary changed size during iteration
。这是因为在迭代过程中修改了图的底层字典。为了避免此错误,请将迭代器评估为一个单独的对象,例如使用`list(iterator_of_nodes)`,然后将此对象传递给`G.remove_nodes_from`。Examples
>>> G = nx.path_graph(3) # 或 DiGraph, MultiGraph, MultiDiGraph 等 >>> e = list(G.nodes) >>> e [0, 1, 2] >>> G.remove_nodes_from(e) >>> list(G.nodes) []
如果在使用迭代器修改同一图时,请先评估该迭代器
>>> G = nx.Graph([(0, 1), (1, 2), (3, 4)]) >>> # 此命令将失败,因为图的字典在迭代过程中被修改 >>> # G.remove_nodes_from(n for n in G.nodes if n < 2) >>> # 此命令将成功,因为图的底层字典未被修改 >>> G.remove_nodes_from(list(n for n in G.nodes if n < 2))