zoukankan      html  css  js  c++  java
  • 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)
  • 相关阅读:
    第七章 内部类与异常类
    2019 Multi-University Training Contest 1
    2019 Multi-University Training Contest 4
    支配树总结
    2019牛客多校第四场题解
    2019牛客多校第三场题解
    莫比乌斯函数总结
    2019牛客多校训练第二场题解
    2019牛客多校训练第一场题解
    洛谷P3069 [USACO13JAN]牛的阵容Cow Lineup(尺取法)
  • 原文地址:https://www.cnblogs.com/wdbgqq/p/9141576.html
Copyright © 2011-2022 走看看