Python &引用;列表索引必须是整数";-蟒蛇

Python &引用;列表索引必须是整数";-蟒蛇,python,dictionary,python-2.x,Python,Dictionary,Python 2.x,我的意见如下: "custom_fields": "[{"id":360027795053,"value":"XXXX"}, {"id":360030272393,"value":"XXX"}, {"id":360027795613,"value":XXX}, {"id":360027795393,"value":"XXX"}, {"id

我的意见如下:

"custom_fields": "[{"id":360027795053,"value":"XXXX"}, 
                   {"id":360030272393,"value":"XXX"}, 
                   {"id":360027795613,"value":XXX}, 
                   {"id":360027795393,"value":"XXX"}, 
                   {"id":360027795413,"value":"XXX"}, 
                   {"id":360030272233,"value":"XXX"},
                   {"id":360027795453,"value":["XXX"]}]"
我访问上述内容如下:

dict_conversion=json.loads(custom_fields)

properties['field_1']=dict_conversion['360027795053']['value']
 properties['field_1']=dict_conversion[1]['value']
上面给出了以下错误:

列表索引必须是整数

看起来我正在尝试按元素名称调用元素,但它不允许调用。我只能按以下索引号码拨打电话:

dict_conversion=json.loads(custom_fields)

properties['field_1']=dict_conversion['360027795053']['value']
 properties['field_1']=dict_conversion[1]['value']
但我更喜欢叫主名


任何帮助-谢谢

您可以首先转换为dict,id为键,值为其值

custom_fields = [{"id":360027795053,"value":"XXXX"},
                   {"id":360030272393,"value":"XXX"},
                   {"id":360027795613,"value":"XXX"},
                   {"id":360027795393,"value":"XXX"},
                   {"id":360027795413,"value":"XXX"},
                   {"id":360030272233,"value":"XXX"},
                   {"id":360027795453,"value":"XXX"}]
id_dict = {i['id']: i['value'] for i in custom_fields}
print(id_dict)
>>> {360027795053: 'XXXX', 360030272393: 'XXX', 360027795613: 'XXX', 360027795393: 'XXX', 360027795413: 'XXX', 360030272233: 'XXX', 360027795453: 'XXX'}
现在,如果要获取给定id的值,可以使用以下方法调用它:

print(id_dict[360027795053])
>>> XXXX
如果您不想这样做,也可以循环查看您的列表,如下所示:

search_id = 360027795053
for i in custom_fields:
    if i['id'] == search_id:
        print(i['value'])
        break

以及您的实际错误
360027795053
'360027795053'
是不同的事情。