我得到来自外部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