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

を? 'bids:[] key pair'とは何ですか? – Kasramvd

+0

あなたはちょうど 'd ['job'] ['bids'] = d ['bids']'をしないのですか? –

+0

@ Kasramvd申し訳ありません私は単なる入札を意味しました:[]アイテム。私はこれを試していました: '応答= {上記の辞書}' 'ジョブ=レスポンス['仕事']' '入札=レスポンス['入札']' '新= job.update(入札)' – 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

この場合、ここで「ジョブ」という新しいリストを作成していますか? – beerandsmiles

+0

私は実際には、JobIDをキーとする辞書 'jobs'がすでに存在していると仮定しています。私はそれに別のJobIDを追加しています。 –

+0

私はそれを理解しました、あなたのコードを取り、私のデータに適用することで、それを動作させることができます!複数の仕事が投稿されているので、上記のデータが配列に到着するので、別のループを追加する必要がありました。これは完全に機能しました – beerandsmiles

関連する問題