我正在尝试在python中编写以下代码。
g = networkx.Digraph()
g.add_edge(1,2,x = 2)
这里的'x'是一个变量。但是networkx似乎把它作为属性的名称。我需要传递x内部的内容作为属性的名称。我该怎么做?
答案 0 :(得分:2)
g = networkx.Digraph()
g.add_edge(1, 2, **{x: 2})
见how to use *args and **kwargs in Python。或者,networkx
也允许您直接将其作为字典提供:
g.add_edge(1, 2, {x: 2})
答案 1 :(得分:2)
add_edge
获取dict
个属性。您只需将属性/值对放在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}