d= {key1: value1, key2: value2}
我们举一个例子
>>> d = {"name":"XiaoMing","age":"15","sexy":"man"}
>>> d["name"]
'XiaoMing'
四,答案解析
那么,分析完以上信息,就可以开始我们取值了,相信你看到这里,就会感觉,无论多少数据,取值会很简单的
1,status
取第一个值:status,它就在字典里面第一个,所以很好取值,就是
>>> r["status"]
'OK'
2,city_name = 上海
取第二个值:city_name为上海,这里面有点绕,dict+list+dict,其实这样分析出来就很简单了,那么我们就开始一步步分析吧
上海在weather里面,所以我们取值
r["weather"]
[{'now': {'text': '阴', 'code': '9'}, 'city_name': '上海', 'future': [{'high': '22', 'date': '2017-05-12'}, {'high': '30', 'date': '2017-05-13'}]}, ('NanChang', 'ChangSha', 'HangZhou'), ('ShangHai', 'BeiJing', 'ShenZhen')]
city_name在list里面的第一个dict里面,所以我们取值
>>> r["weather"][0]
{'now': {'text': '阴', 'code': '9'}, 'city_name': '上海', 'future': [{'high': '22', 'date': '2017-05-12'}, {'high': '30', 'date': '2017-05-13'}]}
上海在dict的city_name里面,所以就很简单的三步取值取出来的
>>> r["weather"][0]["city_name"]
'上海'
3,date = 2017-05-13
现在取第三个值date为2017-05-13,这个其实就是比上面的多了两步,多了一个list和一个dict,我就直接写答案了
>>> r["weather"][0]["future"][1]["date"]
'2017-05-13'
4,ChangSha 和 ShenZhen的取值
现在取第四个值,元组里面的"ChangSha"
"ChangSha"在元组里面,这个元组在list里面,所以,我们先要获取到该元组
r["weather"][1]
('NanChang', 'ChangSha', 'HangZhou')
在下一步
r["weather"][1][1]
'ChangSha'
同理,list里面的"ShenZhen"的值就会变得很简单了,我就直接写答案了
>>> r["weather"][2][2]
'ShenZhen'
解析数据其实很简单,只要有点基础,就可以解析,只不过第二个值会有点绕,dict+list+dict+list,经过一分析,就会发现,其实不会太难,一步一步慢慢分析,做测试不是会去找bug,也要去分析原因,你会事半功倍的。
最后附上所有的代码
r = {
"status": "OK",
"weather": [
{
"city_name": "上海",
"now": {
"text": "阴",
"code": "9"
},
"future": [
{
"date": "2017-05-12",
"high": "22"
},
{
"date": "2017-05-13",
"high": "30"
}
]
},
("NanChang","ChangSha","HangZhou"),
("ShangHai","BeiJing","ShenZhen")
]
}
>>> r["status"]
'OK'
>>> r["weather"]
[{'now': {'text': '阴', 'code': '9'}, 'city_name': '上海', 'future': [{'high': '22', 'date': '2017-05-12'}, {'high': '30', 'date': '2017-05-13'}]}, ('NanChang', 'ChangSha', 'HangZhou'), ('ShangHai', 'BeiJing', 'ShenZhen')]
>>> r["weather"][0]
{'now': {'text': '阴', 'code': '9'}, 'city_name': '上海', 'future': [{'high': '22', 'date': '2017-05-12'}, {'high': '30', 'date': '2017-05-13'}]}
>>> r["weather"][0]["city_name"]
'上海'
>>> r["weather"][0]
{'now': {'text': '阴', 'code': '9'}, 'city_name': '上海', 'future': [{'high': '22', 'date': '2017-05-12'}, {'high': '30', 'date': '2017-05-13'}]}
>>> r["weather"][0]["future"]
[{'high': '22', 'date': '2017-05-12'}, {'high': '30', 'date': '2017-05-13'}]
>>> r["weather"][0]["future"][1]["date"]
'2017-05-13'
>>> r["weather"][1][1]
'ChangSha'
>>> r["weather"][2][2]
'ShenZhen'
禁止转载以及商业用途,仅作为学习资料,违者必究