3

次のコードをPythonで記述しようとしています。

g = networkx.Digraph()
g.add_edge(1,2,x = 2)

ここの「x」は変数です。しかし、networkx はこれを属性の名前として使用しているようです。x の中にあるものを属性の名前として渡す必要があります。どうすればいいのですか?

4

2 に答える 2

2
g = networkx.Digraph()
g.add_edge(1, 2, **{x: 2})

Python で *args と **kwargs を使用する方法を参照してください。または、networkx辞書として直接指定することもできます。

g.add_edge(1, 2, {x: 2})
于 2012-09-12T08:10:22.620 に答える
2

add_edgedictfor 属性を取ります。属性/値のペアを次のように配置するだけです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}
于 2012-09-12T08:11:13.493 に答える