2016-08-18 181 views
-2

我已經得到以下詞典,因爲您可以看到出價列表是字典中與實際作業相同級別的項目。將包含列表的詞典追加到python中的另一個詞典中

我希望能夠做的是將出價:[]密鑰對追加到作業:{}字典中,這樣我就可以允許用戶給程序一個作業ID,並且它會輸出申請人名單。

下面是字典的樣子,不幸的是我沒有任何控制它最初創建的方式。

{u'bids': [{u'applicantId': 221, 
      u'Name': u'name name', 
      u'bidID': 2}, 
      {u'applicantId': 356, 
      u'Name': u'name name', 
      u'bidID': 5}, 
      {u'applicantId': 240, 
      u'Name': u'name name', 
      u'bidID': 9}], 
u'job': {u'address': u'6 something St', 
      u'bids': None, 
      u'budget': 30.0, 
      u'jobID': 10}} 

所以我想要一個用戶給我JobID,它會輸出一個應用人員的名字列表。

這裏有什麼幫助嗎?

+0

你試過到目前爲止什麼?和什麼'出價:[]密鑰對'? – Kasramvd

+0

你爲什麼不做'd''job'] ['bids'] = d ['bids']'? –

+0

@Kasramvd對不起,我只是想出價:[]項目。我正在試試這個: 'response = {the dictionary above}' 'job = response ['job']' 'bids = response ['bids']' 'new = job.update(bids)' – beerandsmiles

回答

0

也許就是這樣,如果d是你原來的詞典:

jobs[d['job']['jobID']] = d['job'] 
jobs[d['job']['jobID']]['bids'] = d['bids'] 

現在你可以對所有申請人尋找具有給定JobID工作:

applicants = [bid['Name'] for bid in jobs[JobID]['bids']] 
+0

在這種情況下,你在這裏創建一個名爲「jobs」的新列表嗎? – beerandsmiles

+0

我實際上假設一個帶有JobID作爲鍵的字典'jobs'已經存在,我只是添加了另一個JobID。 –

+0

我已經理解了,通過將您的代碼和應用於我的數據我能夠使其工作!我需要添加另一個循環,因爲上面的數據到達數組中,因爲發佈了多個工作。這工作完美 – beerandsmiles