我有一个关于如何从包含列表作为值的字典向图形添加边的问题。 我想定义一个将字典作为参数的函数,然后为值列表中的每个键+对象添加一条边。 我创建了空图结构,想知道是否有添加整个字典的智能方法。
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 ']}
最佳答案
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']
关于python - NetworkX:从以列表为值的字典向图形添加边,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26665799/