[英]NetworkX: Adding edges to a graph from a dictionary with lists as values
我有一个关于如何从包含列表作为值的字典向图形添加边的问题。 我想定义一个函数,该函数将字典作为参数,然后为值列表中的每个键 + 对象添加一条边。 我已经创建了空图结构,想知道是否有一种聪明的方法来添加整个字典。
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']
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.