Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 使用Networkx中的k-core获取删除的边_Python 3.x_Graph_Networkx_Subgraph - Fatal编程技术网

Python 3.x 使用Networkx中的k-core获取删除的边

Python 3.x 使用Networkx中的k-core获取删除的边,python-3.x,graph,networkx,subgraph,Python 3.x,Graph,Networkx,Subgraph,我正在使用Networkx的k-core删除度

我正在使用Networkx的k-core删除度<2的节点

n=20
G = nx.gnm_random_graph(n=20, m=30, seed=1)
nx.draw(G, with_labels=True)
plt.show()

retain_node_ids = [1, 8]
G.add_edges_from([(u, v) for u in retain_node_ids for v in (n, n+1)])
pos = nx.spring_layout(G)

G = nx.k_core(G, k=2)

nx.draw(G, with_labels=True, pos=pos)
plt.show()
k-core返回子图。但是我还想获得在使用k-core时删除的节点和边的列表


任何建议都非常有用。

nx.k_core
只返回相应的最大子图。为了找到结果子图中未包含的节点和边,您必须找到两个图之间的节点差异,并从中找到边差异。使用示例
nx.gnm\u随机图

diff_nodes = set(G.nodes()).difference(H.nodes())
print(diff_nodes)
# {2, 4, 11, 19}

removed_edges = {e for e in G.edges() for n in diff_nodes if n in e}
print(removed_edges)
# {(2, 8), (4, 18), (7, 11), (13, 19)}