python和networkX keyerror

时间:2014-04-01 07:18:42

标签: python

我在python中有这个问题,python一直给我一个keyerror:weight

  g.add_edge(1,3,weight=2.5)
  g[1][2]['weight'] = 1.5
  for n1,n2,attr in g.edges(data=True):
    print n1,n2,attr['weight']

输出。

    KeyError                                  Traceback (most recent call last)
    <ipython-input-56-832c29e7e1db> in <module>()
         2 g[1][2]['weight'] = 1.5
         3 for n1,n2,attr in g.edges(data=True):
   ----> 4      print n1,n2,attr['weight']

   KeyError: 'weight'

   0 1

我不知道为什么体重会给我一个错误?

1 个答案:

答案 0 :(得分:2)

我的猜测是您的图表中还有其他一些边缘,并且没有为所有边缘设置weight属性。请尝试以下方法:

for n1,n2,attr in g.edges(data=True):
    print n1,n2,attr

在每种情况下,查看attr是否包含weight的值。