2014-10-18 141 views
0

我知道還有其他一些問題,類似於我的,但我真的沒有找到一個適合我的問題..添加在python項目字典(嵌套)

我有一個Python詞典,看起來像這樣的:

0 =  { 
    awayScore = 2; 
    awayTeam = "Floda BoIF"; 
    homeScore = 1; 
    homeTeam = "SKIF Semberija"; 
    time = "00:00"; 
}; 
1 =  { 
    awayScore = 2; 
    awayTeam = "Kode IF"; 
    homeScore = 1; 
    homeTeam = "Partille IF FK "; 
    time = "01:00"; 
}; 

這裏是我建的

dictionary[i] = {"time":time, "homeTeam":homeTeam,"homeScore":homeScore, "awayTeam":awayTeam, 
    "awayScore":awayScore} 

這是所有項目的「起始位置」的方式,以後我會得到其中的客戶發送「事件」信息日POST請求在應該被添加到字典中。像這樣的東西(語法可能不是正確的,但你會得到什麼我想要做的):

{ 
0 =  { 
    awayScore = 2; 
    awayTeam = "Floda BoIF"; 
    events =   { 
     0 { 
     eventType = Goal; 
     name = "Muchache Johansson"; 
     } 
     1 { 
     eventType = Yellow Card; 
     name = "Muchache Johansson"; 
     } 
    }; 
    homeScore = 1; 
    homeTeam = "SKIF Semberija"; 
    time = "00:00"; 
}; 
1 =  { 
    awayScore = 2; 
    awayTeam = "Kode IF"; 
    events =   { 
     0 { 
     eventType = Goal; 
     name = "Garcia Muchache"; 
     } 
    }; 
    homeScore = 1; 
    homeTeam = "Partille IF FK "; 
    time = "01:00"; 
}; 

所以剛開始他們還沒有任何活動的。然後,如果他們沒有它,你可以添加一個ID爲0的事件。也許另一個帖子請求來到相同的項目,然後另一個事件應該添加與ID 1等等。這可能是一個好方法嗎?感謝您所有的幫助..

+0

使事件容器成爲列表而不是字典。它仍然會保持事件順序,你只需要追加它。事件order_id只是它在容器列表 – 2014-10-18 22:03:39

+0

中的索引,您可以將其作爲答案編寫,以便人們可以看到它的外觀如何?如果它可能@Apero – 2014-10-18 23:13:22

回答

0

這是很簡單的>你可以注入任何你想要的

dictionary = {0 : { 
     'awayScore' : 2, 
     'awayTeam' : "Floda BoIF", 
     'homeScore' : 1, 
     'homeTeam' : "SKIF Semberija", 
     'time' : "00:00", 
     'events' : {} 
     }, 
     1 : { 
     'awayScore' : 2, 
     'awayTeam' : "Kode IF", 
     'homeScore' : 1, 
     'homeTeam' : "Partille IF FK ", 
     'time' : "01:00", 
     'events' : {} 
     } 

當事件occure你可以注入它的元素:比如

dictionary[0]['events'][0] = { 
         'eventType' : 'Goal', 
         'name' : 'Muchache Johansson', 
         } 

如果你希望使用事件列表而不是字典來保存訂單而不用擔心它必須設置爲"events":[]並附加事件

dictionary[0]['events']. append({ 
         'eventType' : 'Goal', 
         'name' : 'Muchache Johansson', 
         } 

+0

這真是太棒了!謝謝,但我如何做到這一點,所以它會檢查有多少在那裏,所以如果我要把第二個項目的ID將是1? – 2014-10-18 23:01:26

+0

我把它添加到我的答案。你可以使用列表作爲@apero建議 – 2014-10-18 23:13:23

+0

謝謝你保存了這一天:D,也感謝@apero – 2014-10-18 23:18:27