在Python中将图对象附加到networkx列表的问题

问题描述

我正在尝试使用networkx软件包从图中随机删除节点。第一个块描述了图的构造,第二个块给出了我必须从图H中删除的节点列表(20%,50%和70%的删除率)。 我希望在列表或任何数据结构中最后获得3个版本的基础图H 。块3中的代码为我提供了“ None” 类型的对象。最后一块显示它适用于单个案例。

我猜测问题出在 append 函数中,该函数以某种方式返回了“ None” 类型的对象。我也觉得基本图H可能在每次迭代后都会改变。有没有办法解决?任何帮助,将不胜感激:)

.navbar-nav li:nth-child(1),.navbar-nav li:nth-child(2),.navbar-nav li:nth-child(3),.navbar-nav li:nth-child(4) {
   /*here you specify the styles you need for underlining*/
}

最终输出应如下所示: [具有20%删除的节点的图,具有50%删除的节点的图,具有7%删除的节点的图]-例如。列表

解决方法

函数remove_nodes_from不返回修改后的图形,而是返回None。因此,您只需要创建具有所需节点百分比的图并将其附加到列表中即可:

graph_list = []
for i in range(len(random_sample_list)):
    H1 = H.copy()
    H1.remove_nodes_from(random_sample_list[i])
    graph_list.append(H1)