次のコードをPythonで記述しようとしています。
g = networkx.Digraph()
g.add_edge(1,2,x = 2)
ここの「x」は変数です。しかし、networkx はこれを属性の名前として使用しているようです。x の中にあるものを属性の名前として渡す必要があります。どうすればいいのですか?
g = networkx.Digraph()
g.add_edge(1, 2, **{x: 2})
Python で *args と **kwargs を使用する方法を参照してください。または、networkx
辞書として直接指定することもできます。
g.add_edge(1, 2, {x: 2})
add_edge
dict
for 属性を取ります。属性/値のペアを次のように配置するだけですdict
。
g.add_edge(1, 2, {x:2})
# or more explicitly
g.add_edge(1, 2, attr_dict={x:2})
例:
In [25]: g = networkx.DiGraph()
In [26]: x = 'some string'
In [27]: g.add_edge(1, 2, {x:2})
In [28]: g[1][2]
Out[28]: {'some string': 2}