python学习DAY5(字典)
#字典 无序(没有下标)---通过key访问 info = { 'stu1101':"TengLan Wu", 'stu1102':"LongZe Luola", 'stu1103':"XiaoZe Maliya", } print (info) #查 print(info["stu1101"]) #若值不存在,则报错 print(info.get("stu1101")) #若值存在,则返回,若不存在,则返回None print("stu1104" in info) #判断值是否存在,存在返回true,不存在返回false #改 info["stu1101"]="武藤兰" info["syu1104"]="林老师" #若字典中没有1104这个编号的数据,则自动创建一个 #删除 del info["stu1101"] info.pop("stu1101") info.popitem() #随机删除 #多级字典嵌套及操作 (以王者荣耀的人物为例) catalog={ "打野":{ "李白":["飘逸","豪迈"], "兰陵王":["凶狠","无形"] }, "辅助":{ "蔡文姬":["奶妈","抗揍"], #注意逗号的位置以及是否能忽略 "大乔":["回家","传送"] }, "射手":{ "后裔":["站撸","短命"], "公孙离":["灵活","天秀"] }, } #catalog["射手"]["后裔"][1]="狂暴" #修改数值 #catalog.keys() #搭配print打印key值,其他不打印(注意有s) #catalog.values() #搭配print打印除了key值以外的所有数据(注意有s) #catalog.setdefault() #到字典寻找是否有匹配的值,如找不到,创建新值,若找得到,则默认值为原来的数值 b={ '2017':'当年', 1:3, 5:9 } #catalog.update(b) #将b导入到catalog,若有匹配得到,则更新catalog,若没有,则在catalog中创建新的 #catalog.items() #将一个字典转为列表 #a=dict.fromkeys([1,2,3],"item") #初始化字典dict,并对应Key值进行赋值 print(a) '''注意用fromkeys时候对其中的操作相当于对整个列表的操作,如只想修改1的值,但是用fromkeys会连123一起修改, 可以理解为123共享同一个地址空间''' print(a) #循环打印: #打印key值 for i in info: print(i) #打印所有(效率优于下面一种) for i in info: print(i,info[i]) #for k,v in info.item(): print(k,v)