在使用networkx时,我们如何将网络表示为Python中的字典?

时间:2014-05-11 13:13:56

标签: python dictionary graph-theory

netowrkx dictionary of dictionaries of dictionaries表示它接受看起来像networkx的数据结构。

我经历了documentation帖子,但我无法弄清楚以user_no可接受的方式表示它的方式。

假设我有一个案例,我有一个user_no和相应的{{1}},这实际上是他的朋友。我怎么能像字典那样代表它?

2 个答案:

答案 0 :(得分:1)

请注意,您要链接版本1.6的networkx文档,而当前版本是1.8.1。

我建议您考虑所需的图形类型,即节点之间的单个无向边,选择networkx.Graph,多个有向边,选择networkx.MultiDiGraphDiGraphMultiGraph也存在。)

然后,您可以使用add_edgeadd_edges_from方法,它们将为您生成基础数据结构,例如,

>>> import networkx as nx
>>> net = nx.Graph()
>>> net.add_edge("user_42", "user_9", trust=9)
>>> net.adj
{'user_42': {'user_9': {'trust': 9}}, 'user_9': {'user_42': {'trust': 9}}}

答案 1 :(得分:0)

请参阅networkx文档 -

d={0: {1: 1}} # dict-of-dicts single edge (0,1)
G=nx.Graph(d)

https://networkx.github.io/documentation/latest/reference/convert.html