2017-09-23 215 views
0

我有3個函數,每個函數都返回一個字典。字典看起來如下。我想把這三本詞典連成一本巨型詞典。然後傳遞這個字典作爲一個值,並給它一個名爲'result'的鍵。加入由單獨函數返回的字典,並將字典作爲另一個字典中的值分配。

get_energy()返回此:

{ '能量':{ 'biggest_gainer':{ '公平': '麥克德莫特國際', '變': '5.31%'}, 'biggest_loser':{」股權 ': '比爾·巴雷特公司', '變': '-13.18%'}, '變': '-1.48%'}}

get_materials()返回此:

{' 基礎材料:{'equity':'Gold Fields Limited(ADR)','change':'3.22%'},'largest_loser':{'equity':'Jaguar Mining Inc(USA)','change ':'-5.85%'},'change':'-0.35%'}}

get_industrials()返回此:

{ '工業':{ 'biggest_gainer':{ '公平': 'LML支付系統公司', '變': '633.43%'}, 'biggest_loser': { '公平': '芝加哥橋樑鋼鐵&有限公司', '變': '-12.07%'}, '變': '-0.46%'}}

最終的字典應該是這樣的:

{result:{'Energy': {'biggest_gainer': {'equity': 'McDermott International', 'change': '5.31%'}, 'biggest_loser': {'equity': 'Bill Barrett Corporation', 'change': '-13.18%'}, 'change': '-1.48%'}}, 
{'Basic Materials': {'biggest_gainer': {'equity': 'Gold Fields Limited (ADR)', 'change': '3.22%'}, 'biggest_loser': {'equity': 'Jaguar Mining Inc (USA)', 'change': '-5.85%'}, 'change': '-0.35%'}}, 
{'industrials': {'biggest_gainer': {'equity': 'LML Payment Systems, Inc.', 'change': '633.43%'}, 'biggest_loser': {'equity': 'Chicago Bridge & Iron Co', 'change': '-12.07%'}, 'change': '-0.46%'}}} 

回答

2

您可以將三個較小的字典解壓縮到一個大字典中。

result = {**get_energy(), **get_materials(), **get_industrials()} 

即相當於:

{ 
    "Energy": { 
     "biggest_gainer": { 
      "equity": "McDermott International", 
      "change": "5.31%" 
     }, 
     "biggest_loser": { 
      "equity": "Bill Barrett Corporation", 
      "change": "-13.18%" 
     }, 
     "change": "-1.48%" 
    }, 
    "Basic Materials": { 
     "biggest_gainer": { 
      "equity": "Gold Fields Limited (ADR)", 
      "change": "3.22%" 
     }, 
     "biggest_loser": { 
      "equity": "Jaguar Mining Inc (USA)", 
      "change": "-5.85%" 
     }, 
     "change": "-0.35%" 
    }, 
    "industrials": { 
     "biggest_gainer": { 
      "equity": "LML Payment Systems, Inc.", 
      "change": "633.43%" 
     }, 
     "biggest_loser": { 
      "equity": "Chicago Bridge & Iron Co", 
      "change": "-12.07%" 
     }, 
     "change": "-0.46%" 
    } 
}