📅  最后修改于: 2023-12-03 15:17:51.540000             🧑  作者: Mango
在使用 Networkx
库进行图形分析时,有时需要删除具有特定度数的节点。以下是在 Python 中使用 Networkx
删除特定节点的方法。
导入 Networkx
库
import networkx as nx
创建一个图形
G = nx.Graph()
向图形添加节点和边
G.add_nodes_from([1, 2, 3, 4, 5])
G.add_edges_from([(1, 2), (1, 3), (2, 3), (2, 4), (3, 4), (4, 5)])
查找具有特定度数的节点
degree_nodes = [node for node, degree in dict(G.degree()).items()if degree == 2]
该行代码使用 dict(G.degree())
返回节点及其度数的字典,并使用列表解析式筛选出度为 2 的节点。
从图形中删除度数为 2 的节点
G.remove_nodes_from(degree_nodes)
import networkx as nx
# 创建一个图形
G = nx.Graph()
# 向图形添加节点和边
G.add_nodes_from([1, 2, 3, 4, 5])
G.add_edges_from([(1, 2), (1, 3), (2, 3), (2, 4), (3, 4), (4, 5)])
# 查找具有特定度数的节点
degree_nodes = [node for node, degree in dict(G.degree()).items()if degree == 2]
# 从图形中删除度数为 2 的节点
G.remove_nodes_from(degree_nodes)
使用上面的方法,您可以轻松地从 Networkx
图形中删除具有特定度数的节点。