我已经使用 NetworkX 制作了包含大约 20,000 个节点的大图。我想删除只有一个领带(或零个领带)的节点,以尽量减少困惑。由于它是一个非常大的图,我不知道名称或 ID 中 tie=1 或 0 的节点。
有谁知道如何在不指定节点 ID 或名称的情况下删除这些节点?
请您参考如下方法:
迭代 Graph g 产生所有 g 的节点,一次一个——我相信你不能改变g 在迭代本身期间,但您可以有选择地创建要删除的节点列表,然后将它们全部删除:
to_del = [n for n in g if g.degree(n) <= 1]
g.remove_nodes_from(to_del)
