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)

 

posted @ 2019-06-03 17:01  LBC不认输  阅读(160)  评论(0编辑  收藏  举报