2016-03-26 4 views
1

私は、文字列PYDOT - リスト内のストアノード - 非ハッシュタイプ:「リスト」というエラー

graph = pydot.Dot(graph_type='digraph') 
node_list = [] 
for i in xrange(0, len(string_list)): 
    node_list.append(pydot.Node(string_list[i])) 
    graph.add_node(node_list[-1]) 
    for j in (0,len(string_list)): 
     graph.add_edge(pydot.Edge(node_list[i], node_list[j], label=matrix[i,j])) 

のリストからグラフを生成するPYDOTを使用していますが、私はadd_nodeラインで次のエラーを取得する:

TypeError: unhashable type: 'list' 

どうすればこの問題を解決できますか?

+0

あなたは必ず 'graph.add_node(考えます。node_list [-1])'エラーの原因は?完全なトレースバックを追加する –

+0

行列[i、j]は、この行列オブジェクトが何であっても要素にアクセスするための有効な方法ですか? –

+0

はい、トレースバックは "graph.add_node(node_list [-1])"、 "node = self.get_node(graph_node.get_name())"、 "if self.obj_dict ['nodes']。has_key(name): " – user1403546

答えて

1

あなたはstring_listにリストを持って、エラーがで再現することができます。

graph = pydot.Dot(graph_type='digraph') 

node_a = pydot.Node(["Node A"]) 

graph.add_node(node_a) 
関連する問題