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_edge需要一个dictfor 属性。您只需将属性/值对放在 a 中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 回答