python字典嵌套列表嵌套字典怎么取值

我在调用百度智能云识别验证码接口时,百度那边返回了一组字典,如图:
{'words_result': [{'words': '82wy}], 'words_result_num': 1, 'log_id': 1546525248296055607}

我想要将“82wy”这个验证码的值取出来该怎么做

dic = {'words_result': [{'words': '82wy'}], 'words_result_num': 1, 'log_id': 1546525248296055607}
print(dic['words_result'][0]['words'] )

如果获取的是json字符串要用json.loads(jsonstr)转成字典再取dic['words_result'][0]['words']

import json
jsonstr = '{"words_result": [{"words": "82wy"}], "words_result_num": 1, "log_id": 1546525248296055607}'
dic = json.loads(jsonstr)
print(dic['words_result'][0]['words'] )

如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!

img


text = """{'words_result': [{'words': '82wy'}], 'words_result_num': 1, 'log_id': 1546525248296055607}"""
res = {'words_result': [{'words': '82wy'}], 'words_result_num': 1, 'log_id': 1546525248296055607}
target1 = eval(text)['words_result'][0]['words']
target2 = res['words_result'][0]['words']
print("字符串:", target1)
print("字典:", target1)

img


给你说个小技巧,eval函数可以把字符串形式的列表和字典进行转换(有null,false,true,unicode的时候要处理成字符串)
或者你直接用爬虫的.json()获取成字典,你的这个就是简单的字典嵌套列表,然后列表的维度是1,用键找到列表,然后用索引从列表里面找到目标字典,再用键得到结果

这种复杂的结构依次从上层开始取值就好。这种返回值现在一般称为json类型数据。
python有专门解析json的库。

不过你给的例子中数据是不完整的,因为缺了一些符号,比如82wy后面缺了个单引号的。

如果是完整的,且假定已经赋值给aJSONDATA这个变量,则要获得该值的变量表达式就是:

aJSONDATA['words_result'][0]['words']

这就是个简单的根据字典提值问题,先取出words_result,然后取出值列表的第一个元素,也是字典在索引就好了

img

img