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'
是不同的事情。