字典的增刪改查及遍歷 1 info = { 2 "stu3":"yuanyuan", 3 "stu1":"tianjie", 4 "stu2":"wangxinlin" 5 } 6 print(type(info)) #輸出類型 7 print(info) 8 print(info["stu1"]) ...
字典的增刪改查及遍歷
1 info = { 2 "stu3":"yuanyuan", 3 "stu1":"tianjie", 4 "stu2":"wangxinlin" 5 } 6 print(type(info)) #輸出類型 7 print(info) 8 print(info["stu1"]) #查找 條件:適用於確定有該鍵值,沒有鍵值時報錯 9 print(info.get("stu00")) #沒有時返回None 10 print(info.get("stu1")) #有就返回value 11 12 print("stu02" in info) #判斷是否存在該數據,如果存在返回True,不存在返回False 13 # info.has_key("stu1") # 適用於py2 14 15 info["stu2"] = "fenglubei" #修改 16 print(info) 17 info["stu4"] = "wangxinlin" #沒有該鍵時新增 18 print(info) 19 20 del info["stu1"] #刪除 21 print(info) 22 23 info.pop("stu2") #刪除特定鍵值 24 print(info) 25 26 info.popitem() #隨機刪 27 print(info) 28 29 #字典嵌套 30 shuqike = { 31 "gongsi":{ 32 "kaifa":["ma","jiaming","jiao","yuan","yaqiong","zhendong"], 33 "yunwei":["yecai","majin"] 34 }, 35 "SJS":{ 36 "kaifa":["cong","jiang"], 37 "yunwei":["feng","tian","xinlin","yuanyuan"] 38 } 39 } 40 print(shuqike) 41 42 #查 43 print(shuqike["gongsi"]["kaifa"][2]) 44 print(shuqike["SJS"]["yunwei"][2]) 45 46 #改 47 shuqike["gongsi"]["kaifa"][2] = "zhen" 48 print(shuqike) 49 50 #增加 51 shuqike["gongsi"]["jiagou"] = ["hou","peng"] 52 print(shuqike) 53 54 #高級 55 zimu = { 56 "大寫":["A","B","C"], 57 "小寫":["a","b","c"] 58 } 59 print(zimu.keys()) #獲取列表裡的所有key 60 print(zimu.values()) #獲取列表裡的所有value 61 62 # setdefault,在字典里取值,當能取到值時就不動字典,當取不到值時,創建一個 63 zimu.setdefault("qita", [1,2,3]) 64 zimu.setdefault("大寫", ["D"]) 65 print(zimu) 66 67 #update,存在交叉,更新值,不存在鍵則新增 68 b = { 69 "小寫":"fff", 70 1:2, 71 3:4 72 } 73 zimu.update(b) 74 print(zimu) 75 76 print(zimu.items()) #字典轉列表 77 78 c = dict.fromkeys([6,7,8],"test") #創建一個字典,key為678,值都為test 79 print(c) 80 81 d = dict.fromkeys([1,2,3],[1,{"name":"tinajie"},333]) 82 print(d) 83 d[3][1]["name"] = "yuanyuan" #都改,並不是只改一個 84 print(d) 85 86 #字典的遍歷 87 for i in zimu: 88 print(i) #只列印key 89 print(i,zimu[i]) 90 91 for k,v in zimu.items(): #效率低於上面那種,因為要轉成列表 92 print(k,v)