一、字典
字典dict是無序的
字典的存儲數據形式 key-value的數據形式
#dir()查看他的方法 data={"name":"lisi","age":20,"work":"測試開發工程師"} print(dir(data)) ''' 'clear', 'copy', 'fromkeys', 'get', 'items', 'keys', 'pop', 'popitem', 'setdefault', 'update', 'values'] name '''
1 # clear清空 2 data={"name":"lisi","age":20,"work":"測試開發工程師"} 3 data.clear() 4 print(data)
1 #pop刪除 並且返回刪除的元素 2 data={"name":"lisi","age":20,"work":"測試開發工程師"} 3 print(data.pop("age")) 4 print(data)
1 # copy復制 2 data={"name":"lisi","age":20,"work":"測試開發工程師"} 3 data2=data.copy() 4 print(data2)
1 # update 合並 2 data={"name":"lisi","age":20,"work":"測試開發工程師"} 3 dict1={"sex":"女"} 4 data.update(dict1) 5 print(data)
data={"name":"lisi","age":20,"work":"測試開發工程師"} #獲取所有的key for key in data.keys(): print(key) #獲取所有的value for value in data.values(): print(value)
#獲取key對應的具體的value data={"name":"lisi","age":20,"work":"測試開發工程師"} #獲取名字 print(data.get("name")) print(data["name"]) #一般用第二種 #獲取工作 print(data["work"])
1 #對字典進行循環 2 data={"name":"lisi","age":20,"work":"測試開發工程師"} 3 for key,value in data.items(): 4 print(key,":",value)
#需求:key=="age"並且value==20輸出我今年20歲了 data={"name":"lisi","age":20,"work":"測試開發工程師"} for key,value in data.items(): if key=="age" and value==20: print("我今年20歲了")
二、字典案例實戰
1.
1 data={ 2 "datas": [ 3 { 4 "author": "wuya", 5 "done": True, 6 "id": 1, 7 "name": "Python接口自動化測試實戰"
8 }, 9 { 10 "author": "無涯", 11 "done": False, 12 "id": 2, 13 "name": "Selenium3自動化測試實戰"
14 } 15 ], 16 "msg": "ok", 17 "status": 0 18 } 19 #需求:輸出Python接口自動化測試實戰
20 print(data["datas"][0]["name"]) 21
22 #需求:輸出Selenium3自動化測試實戰
23 print(data["datas"][1]["name"])
2.
1 data={"status":0, 2 "msg":"ok", 3 "datas":[ 4 {"name":"lisi","age":10},{"name":"god","age":20,"work":["test",{"language":"Python語言"}]} 5 ] 6 } 7 #需求:輸出python語言
8 print(data["datas"][1]["work"][1]["language"])
3.
1 data={"status":0, 2 "msg":"ok", 3 "datas":[{"name":"lisi","age":10},{"name":"god","age":20,"work":["test",{"language":"Python語言","school":["北京大學",{"專業":"計算機科學與技術"}]}]}] 4 } 5
6 #輸出計算機科學與技術
7 print(data["datas"][1]["work"][1]["school"][1]["專業"])
4.
1 data=["language",{"語言":["Go","Python","Java"]}] 2 # 輸出結果是:Go,Python,Java
3 print(",".join(data[1]["語言"]))
5.
1 data1={"status":0,"datas":[{"name":"lisi","score":90}, 2 {"name":"wangmazi","score":88}, 3 {"name":"wangwu","score":60}, 4 {"name":"zhaosi","score":59}, 5 {"name":"zhaosi","score":29}]} 6 #需求,對學生成績進行排序,從低到高排序
7 listscore=[] #首先創建一個空列表 8 for item in data1["datas"]: 9 listscore.append(item["score"]) 10 listscore.sort() 11 print(listscore)
6.
1 data2={"status":0,"datas":[ 2 {"name":"lisi","score":90}, 3 {"name":"wangmazi","score":88}, 4 {"name":"wangwu","score":60}, 5 {"name":"zhaosi","score":59} 6 ]} 7 #需求:輸出lisi,wangmazi,wangwu,zhaosi
8 listname=[] 9 for item in data2["datas"]: 10 listname.append(item["name"]) 11 print(",".join(listname))