在python中创建Clique

时间:2015-11-25 19:23:32

标签: python python-2.7 networkx

有没有一种方便的方法可以从表示顶点的对象列表(例如字符串)中创建一个派系,而不是手动生成每个边缘?

1 个答案:

答案 0 :(得分:2)

这可能是How to generate a fully connected subgraph from node list using python's networkx module的副本,但我会给出与其中不同的答案。

方法是生成一个集团,然后使用networkx的方法重新标记节点。

import networkx as nx
L=["hello", "world", "how", "are", "you"]
G=nx.complete_graph(len(L))
H=nx.relabel_nodes(G,dict(enumerate(L)))

H.nodes()
> ['how', 'are', 'world', 'you', 'hello']
G.nodes()
> [0,1,2,3,4]

nx.relabel_nodes(G,dict(enumerate(L)), copy=False) #you can also change G in place
G.nodes()
> ['how', 'are', 'world', 'you', 'hello']