2016-07-15 45 views
1

我通過networkX教程工作的關鍵錯誤,九頁是這樣的:NetworkX教程提供超值的選擇

>>> g = nx . Graph() 
>>> g . add_node (1 , name = ‘ Obrian ’) 
>>> g . add_nodes_from ([2] , name = ‘ Quintana ’ ]) 
>>> g [1][ ‘ name ’] 
‘ Obrian ’ 

我在代碼重構:

import networkx as nx 

g = nx.Graph() 

g.add_node(1,name='Obrian') 
g.add_nodes_from([2],name='Quintana') 

print "Node 1 name: " + g[1]['name'] 

,然而對於一些原因,這個簡單的5行腳本dosn't運行:

Traceback (most recent call last): 
    File "NetTest[nx_tut]--[P09].py", line 9, in <module> 
    print "Node 1 name: " + g[1]['name'] 
KeyError: 'name' 

我覺得我失去了一些真正明顯的東西。它是什麼?

+0

我認爲它應該是:'g.node [1] ['name']' – bernie

回答

4

您需要明確地訪問圖形的節點屬性。也就是,用g.node[1]['name']替換g[1]['name']

您可能正在使用過時的教程。

+0

是的,現在它工作正常。本教程是這樣的:http://snap.stanford.edu/class/cs224w-2012/nx_tutorial.pdf – Rich

+0

是的,該教程至少4歲。自那時以來,networkx發生了很大變化。 [這是他們的官方教程的最新版本](https://networkx.github.io/documentation/networkx-1.10/tutorial/index.html) –

+0

很高興知道,謝謝。 – Rich