2016-08-18 91 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