2014-06-09 85 views
-2

我是Python新手,目前我正在使用數據字典。 我希望創建詞典到字典是這樣的:Dict Python代碼

dates = {201101:{perf:10, reli:20, qos:300}, 201102:{perf:40, reli:0, qos:30}} 

我已經有鑰匙,我必須初始化創建的默認值。即:

{201101:{perf:0, reli:0}, 201102:{perf:0, reli:0}}

怎麼辦發起和更新specifict字典。即日期[201101 [perf]] = 10。 謝謝!

+0

什麼是'201101 {perf = 10,reli = 20,qos = 300}' – thefourtheye

+0

@thefourtheye對不起我的錯誤 – indi60

回答

1

首先

dates = {201101{perf=10, reli=20, qos=300}, 201102{perf=40, reli=0, qos=30}} 

是不是一個有效的Python字典。這就是:

dates = {201101: {'perf':10, 'reli':20, 'qos':300}, 201102:{'perf':40, 'reli':0, 'qos':30}} 

一旦啓動字典的字典爲:

dates[201101]['perf'] = 10 

演示:

dates = {201101:{'perf':0, 'reli':0}, 201102:{'perf':0, 'reli':0}} 

你做更新

>>> dates = {201101:{'perf':0, 'reli':0}, 201102:{'perf':0, 'reli':0}} 
>>> dates[201101]['perf'] = 10 
>>> dates 
{201101: {'reli': 0, 'perf': 10}, 201102: {'reli': 0, 'perf': 0}} 
+0

@shaktiman:謝謝你的回答 – indi60

1

首先,您需要將鍵值與:分開。其次,你的鑰匙需要是字符串或數字。例。

dates = { 201101: {'perf': 10, 'reli':20, 'qos': 300} } 
1

你第一個字典:

更新鍵值
dates={201101:{'perf':0, 'reli':0}, 201102:{'perf':0, 'reli':0}} 

方式一:

date[201101]={'perf': 10, 'reli':20, 'qos': 300} 
0

另一種方法,你需要在運行時的值的情況下setdefault(I,[])或{},而不是[]。這允許您動態創建嵌套字典而不是「平面」。

例如:

dict = {} 
    for i in range(0,10): 
     dict.setdefault(i,{}) 
     # Only now you can use the nested dict of level 1 
     for j in range(0,10): 
      dict[i][j] = j 

這只是一個例子,你可以動態創建任意深的,並與異質元素的列表或其他字典詞典。