2016-07-15 12 views
1

値選択オーバーキーのエラーを与え、ページ9はこれです:ために、NetworkXのチュートリアルでは、私がnetworkXのチュートリアルを働いている

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'] 

とはまだありません:私は、コード内で再構築さ

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

何らかの理由で、この単純な5行のスクリプトは実行されません:

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[1]['name']g.node[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

関連する問題