【问题标题】:NetworkX: Adding edges to a graph from a dictionary with lists as valuesNetworkX:从字典中将边添加到图表中,列表作为值
【发布时间】:2014-10-31 00:40:25
【问题描述】:

我有一个关于如何从包含列表作为值的字典中将边添加到图形的问题。 我想定义一个将字典作为参数的函数,然后为值列表中的每个键+对象添加一条边。 我已经创建了空图结构,想知道是否有一种聪明的方法可以添加整个字典。

def build_network(dict):

  G = nx.Graph() 

之后我只想返回构造的图。

我知道这是一个新手问题,但任何帮助都将不胜感激!

编辑 1:字典包含作为键的足球运动员和作为值的他效力过的俱乐部的列表。

编辑 2:字典的字符串是 Unicode。例如 {u'Drogba': [u'Le Mans', u'Chelsea', u'Galatasaray'], u'Beckham: [u'Manchester United', u'Real Madrid', u'Los Angeles Galaxy ']}

【问题讨论】:

  • “包含列表作为值”有点模糊。您所需输入和输出的示例会有所帮助。
  • .. 你的字典看起来像{"a": ["c0", "c1", "c2"], "b": ["c2", "c4", "c6"]}吗? (这里的“示例”通常是指具体的东西,人们可以复制和粘贴来试验的东西。展示比描述更有效。)
  • 对不起!我试图提供一个例子。

标签: python graph networkx


【解决方案1】:

Graph 对象可以将字典作为初始化参数,所以我认为它会非常简单地完成您想要的操作:

>>> d = {'Drogba': ['Le Mans', 'Chelsea', 'Galatasaray'], 'Beckham': ['Manchester United', 'Real Madrid', 'Los Angeles Galaxy']}
>>> g = nx.Graph(d)
>>> g.nodes()
['Manchester United', 'Beckham', 'Real Madrid', 'Le Mans', 'Los Angeles Galaxy', 'Drogba', 'Galatasaray', 'Chelsea']
>>> g.edges("Beckham")
[('Beckham', 'Real Madrid'), ('Beckham', 'Los Angeles Galaxy'), ('Beckham', 'Manchester United')]
>>> g.neighbors("Drogba")
['Galatasaray', 'Chelsea', 'Le Mans']

【讨论】:

  • 我不知道我该如何监督。感谢您的回答和耐心;)
猜你喜欢
  • 1970-01-01
  • 2015-04-02
  • 1970-01-01
  • 1970-01-01
  • 2022-11-05
  • 1970-01-01
  • 2016-06-04
  • 1970-01-01
  • 2021-01-26
相关资源
最近更新 更多