我得到來自外部API的結果作爲格式的字典:如何在python中轉換此字典?
{data:[{values:[{'end_time':'2013-10-03T07:00:00+0000', value:{'mobile':4, 'search':3}}, {'end_time':'2013-10-04T07:00:00+0000', value:{'source':2}}]}]}
,我想它的格式轉換成詞典:
{'2013-10-03T07:00:00+0000':{'mobile':4, 'search':3},'2013-10-04T07:00:00+0000':{'source':2}}
當我嘗試以下操作,我得到的錯誤號爲SyntaxError: keyword can't be an expression
,以output_dict
開頭的行:
def dict_cleaner(input_dict):
for day in input_dict['data'][0]['values'][0]['end_time']:
output_dict = dict(input_dict['data'][0]['values'][0]['end_time']=input_dict['data'][0]['values'][0]['value'])
return output_dict
我在這裏做錯了什麼?
在第三行,電話裏面'dict'的,你寫'input_dict [ '數據'] [0] [ '值'] [0] [ 'END_TIME'] = input_dict [ '數據'] [0] [ '值'] [0] [ '值']'。這是什麼意思?我不認爲Python喜歡那裏有一個等號。 – Kevin
我正在嘗試使用字典(key = value)創建和更新字典。也許問題在於,如果我正在循環這本字典,它會在嘗試添加第二個值時窒息,所以或許我應該先執行output_dict = dict(),然後執行output_dict.update = dict(key = value)。但是,現在我看着它,你完全正確,我甚至不需要這個循環。 –
'update'可能是一個好主意,雖然'output_dict.update = ...'沒有太大意義。 'update'是一種方法,所以你應該使用圓括號來調用它,而不是使用equals來分配它。 – Kevin