问题描述
我正在尝试使用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)