我是Django的新手。在下面的数据中,我需要从字典的选项列表中获取text(key)的值并将其返回到列表中。当我试图让值编译器抛出错误时说``列表索引必须是整数或切片,而不是str''。我已经花了3个小时以上的时间。预先感谢
这是我的数据
{
'text':'man',
'offset':0,
'length':3,
'options':[
{
'text':'manglore',
'_index':'locations',
'_type':'_doc',
'_id':'5',
'_score':2.0,
'_source':{
}
},
{
'text':'manipal',
'_index':'locations',
'_type':'_doc',
'_id':'6',
'_score':2.0,
'_source':{
}
}
]
}
这是我的代码
def search(request):
message = request.POST['x']
res = es.search(index = "locations", body = {
"_source": "suggest",
"suggest": {
"places": {
"prefix": message,
"completion": {
"field": "name",
"fuzzy": {
"fuzziness": "AUTO",
"transpositions": "true"
}
}
}
}
})
city_list = []
output = res['suggest']['places']
for val in output['options']:
print(val['text'])
city_list.append(val['text'])
return HttpResponse(output)
答案 0 :(得分:0)
尝试一下:
for val in output:
for city in val['options']:
print(city['text'])
city_list.append(city['text'])
这将提供输出
答案 1 :(得分:0)
city_list=[]
jos = res['suggest']['places'][0]['options']
for val in jos:
city_list.append(val['text'])
return HttpResponse(city_list)
这对我有用!