如何在python中转换这个字典?

时间:2013-10-11 19:17:57

标签: python-2.7 dictionary

我从外部API获取结果,格式为:

{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

我在这里做错了什么?

1 个答案:

答案 0 :(得分:1)

@Kevin是对的。如果你想创造一个字典,为什么不做呢

{input_dict['data'][0]['values'][0]['end_time']: input_dict['data'][0]['values'][0]['value']}

另外,你可以尝试理解而不是循环

output_dict = {d['end_time']: d['value'] for d in input_dict['data'][0]['values']}