Python初识 数据类型(二 字典)

  昨天请假一天回太原办理离职,今天重新开始学习!

  一.字典的相关介绍

  是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)
原文地址:https://www.cnblogs.com/wdbgqq/p/9141576.html