2011-11-10 46 views
-1

請看看Python的字典()和變量作爲自變量

>>> var = "name" 
>>> dict(var=12) 
{'var': 12} 

,但我需要{ '名':12}

如何做到這一點?

我使用的字典()不是字典[元],因爲在追加元素到我的字典這樣的方式(圖也是詞典):

graph[v1] = dict(graph[v1], v2=weight) 

請幫幫忙,怎麼做,或修改我的追加方法

+0

請向我們展示你的'graph'的例子。 – ulidtko

+0

@ulidtko:'graph'似乎是一本字典詞典,而KuB打算爲其中一本內部詞典添加一個新項目。 –

+1

@SvenMarnach精神錯亂的時刻。 – agf

回答

4

我想你需要

graph[v1][v2] = weight 

無需重新整部字典只是增加一個新項目。

+0

謝謝,這就是我需要的。 –

2
>>> var = "name" 
>>> {var : 12} 
{'name': 12} 
+1

(+1)我認爲這是迄今爲止最乾淨的方式(如果我正確理解問題......) – NPE

+0

這樣,我不能展開字典,如果圖像是這樣的{'a ':{'a1':123,'a2':456},'b':{...},...} –

1

你可能只是做了簡單的方法:

var = 'name' 
d = dict() 
d[var] = 12 
graph[v1] = d 

或者:

var = 'name' 
graph[v1] = {var:12} 

或者你可以使用的字典(項目)招:

var = 'name' 
graph[v1] = dict([(var,12)]) # dict(d.items()) trick 

或者你可能很愚蠢:

d = {var:12} 
graph[v1] = dict(**d) # I *think* this works