编辑——我已经更新了新版本的networkx。一般来说,请看迁移指南 https://networkx.github.io/documentation/stable/release/migration_guide_from_1.x_to_2.0.html了解如何将代码从 networkx 1.11 更新到 2.x。
我认为您是在问如何找到一个节点有多少条边。这被称为degree一个节点的。
For 网络x v2.x, G.degree(node )
给出节点的度数G.degree()
是一个“DegreeView”对象。可以使用将其转换为字典dict(G.degree())
.
G = nx.Graph()
G.add_edges_from([[1,2],[1,3],[2,4],[2,5]])
G.degree()
> DegreeView({1: 2, 2: 3, 3: 1, 4: 1, 5: 1})
max(dict(G.degree()).items(), key = lambda x : x[1])
> (2,3)
in 网络x v1.11及更低:G.degree(node)
给出节点的度数G.degree()
是一个字典,其键是节点,其值是相应的度数。
So max(G.degree().items(), key = lambda x: x[1])
是一个简单的单行代码,返回具有最大度数的节点的 (node, Degree)。
这是一个例子:
G = nx.Graph()
G.add_edges_from([[1,2],[1,3],[2,4],[2,5]])
G.degree()
> {1: 2, 2: 3, 3: 1, 4: 1, 5: 1}
max(G.degree().items(), key = lambda x: x[1])
> (2,3)