昨天请假一天回太原办理离职,今天重新开始学习!
一.字典的相关介绍
是python中唯一一个映射类型,以{}括起来的键值对组成,dict中key是唯一的,在保存的时候,根据key来计算出一个内存,然后将key-value保存到这个内存中,切记,在dict中存储的key-value中,key必须是哈希的(不可变得),
注:可哈希的(不可变)数据类型:int,str,tuple,bool,
不可哈希的数据类型;list,dict,set
二.字典的相关操作
1.增
dic={} dic["name"]="康熙爷" dic["age"]=60 print(dic) #{'name': '康熙爷', 'age': 60}
如果dic中没有出现过这个key,就新增一个key-value存入dic;如果已出现过这个key,则视为修改该key对应的value
如果dic中没出现过这个key-value,可通过setdefault设定默认值
dic={} dic.setdefault("李嘉诚") print(dic) #{'李嘉诚': None}
2.删
pop
dic={"jay":1,"jj":2,"jh":3} ret=dic.pop("jay") print(ret) #1 print(dic) #{'jj': 2, 'jh': 3}
del
dic={"jay":1,"jj":2,"jh":3} del dic["jay"] #{'jj': 2, 'jh': 3} print(dic)
随机删除
ret=dic.popitem()
清空字典
dic.clear()
3.改
dic1={"jay":1,"jj":2,"jh":3} dic2={"ww":4,"jj":0} dic1.update(dic2) print(dic1) #{'jay': 1, 'jj': 0, 'jh': 3, 'ww': 4} print(dic2) #{'ww': 4, 'jj': 0}
把dic2中的内容更新到dic1中,如果key重名,则更新替换,如不重,则新增
4.查
一般用key 来查找具体的数据
dic={1:"W",2:"G",3:"D",4:"Q"} print(dic[1]) #W print(dic[10]) #因不存在此指标,报错 print(dic.get(10)) #None print(dic.get(3)) #D
5.其他操作
dic={1:"W",2:"G",3:"D",4:"Q"} print(dic.keys()) #dict_keys([1, 2, 3, 4]) for key in dic.keys(): print(key) #1 2 3 4 for key,value in dic.items(): print(key,value) #1 W 2 G 3 D 4 Q
三.字典的嵌套
# av_catalog = { # "欧美":{ # "www.youporn.com": ["很多免费的,世界最大的","质量一般"], # "www.pornhub.com": ["很多免费的,也很大","质量比yourporn高点"], # "letmedothistoyou.com": ["多是自拍,高质量图片很多","资源不多,更新慢"], # "x-art.com":["质量很高,真的很高","全部收费,屌丝请绕过"] # }, # "日韩":{ # "tokyo-hot":["质量怎样不清楚,个人已经不喜欢日韩范了","verygood"] # }, # "大陆":{ # "1024":["全部免费,真好,好人一生平安","服务器在国外,慢"] # } # } # a,给此 ["很多免费的,世界最大的","质量一般"]列表第二个位置插入一个 元素:'量很大'。 # av_catalog.get("欧美").get("www.youporn.com").insert(1,"量很大") # print(av_catalog) # b,将此 ["质量很高,真的很高","全部收费,屌丝请绕过"]列表的 "全部收费,屌丝请绕过" 删除。 # av_catalog.get("欧美").get("x-art.com").remove("全部收费,屌丝请绕过") # print(av_catalog) # c,将此 ["质量很高,真的很高","全部收费,屌丝请绕过"]列表的 "全部收 费,屌丝请绕过" 删除。 # av_catalog.get("欧美").get("x-art.com").remove("全部收费,屌丝请绕过") # print(av_catalog) # d,将此["质量怎样不清楚,个人已经不喜欢日韩范了","verygood"]列表的 "verygood"全部变成大写。 # str=av_catalog.get("日韩").get("tokyo-hot")[1].upper() # av_catalog.get("日韩").get("tokyo-hot")[1]=str # print(av_catalog) # e,给 '大陆' 对应的字典添加一个键值对 '1048' :['一天就封了'] # av_catalog.get("大陆")["1048"]="一天就封了" # print(av_catalog) # f,删除此"letmedothistoyou.com": ["多是自拍,高质量图片很多","资源不多,更新慢"]键值对。 # av_catalog.get("欧美").pop("letmedothistoyou.com") # print(av_catalog) # g,给此["全部免费,真好,好人一生平安","服务器在国外,慢"]列表的第一个元素,加上一句话:'可以爬下来' # str=av_catalog.get("大陆").get("1024")[0]+",可以爬下来" # av_catalog.get("大陆").get("1024")[0]=str # print(av_catalog)