微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

从 NetworkX 动态删除节点图导致错误

如何解决从 NetworkX 动态删除节点图导致错误

为什么此代码会导致错误

temp=self.G.nodes(data="nodetype")
for nodes in temp:
    print(nodes)
    print(nodes[0])
    print(nodes[1])

    if nodes[1]==None:
        self.G.remove_node(nodes[0])
print(self.G.nodes(data="nodetype"))

错误 运行时错误:字典在迭代期间改变了大小

我可以通过使用 list 来解决问题,但是我必须使用 2 个 for 循环。我的图表很大。这将是资源的浪费。 这就是我现在正在做的事情。

temp=self.G.nodes(data="nodetype")
        for nodes in temp:
            print(nodes)
            print(nodes[0])
            print(nodes[1])

            if nodes[1]==None:
                blacksheeps.append(nodes[0])
        for nodes in blacksheeps:
            self.G.remove_node(nodes)
        print(self.G.nodes(data="nodetype"))

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。