zoukankan      html  css  js  c++  java
  • python 字典数据类型day05

    字典 dict

    不可变(可哈希)的数据类型:int,str,bool,tuple。

    可变(不可哈希)的数据类型:list,dict,set。

    子弹优点:字典的查询速度非常快

    字典缺点:他的缺点就是内存消耗巨大。

    字典的创建方法:
    #dick字典的创建

    #方法一
    dic=dict((('ont',1),('two',2),('thrre',3)))
    print(dic)

    #方法二
    dic2=dict(ont=1,two=2,three=3)
    print(dic2)

    #方法三 最常用
    dic3=dict({"ont":1,"two":2,"three":3})
    print(dic3)

    验证字典的合法性

    dic1={[1,2,3]:"laex",1:666}    #键要是不可变的数据类型  
    print(dic1)

    dic2={1:"alex",1:"小白",2:"wusir"}   #键是唯一的
    print(dic2)

    字典的 增 删 改 查 重点

    字典的增删改查
       增   通过键值对直接增加
    dic={"name":"太白","age":18}
    dic["wenght"]=75   没有这个weight这个键,就增加值对
    print(dic)

    dic={'name':"太白",'age':18}
    dic['wenght']=75
    print(dic)
    dic['name']='小白'
    print(dic)
    dic["name"]="barry"   当有name这个键的时候就会变更name里面元素的内容
    print(dic)

    #setdefault ***重点***
    dic={"name":"太白","age":18}
    dic.setdefault("height",175)  没有”height“就直接添加这个键
    print(dic)   #{'name': '太白', 'age': 18, 'height': 175}

    dic.setdefault("name","darry")#有name这个键,就不会变
    print(dic)   #{'name': '太白', 'age': 18, 'height': 175}

    dic={"name":"太白","age":18}
    alex=dic.setdefault("name")
    print(alex) #会返回name里面的值出来

       
    pop  ***重点***
    dic={"name":"太白","age":18}
    # ret=dic.pop("name")
    # print(dic,ret)
    ret1=dic.pop("n",None)
    print(ret1,dic)

    dic={"name":"太白","ahg":18}
    ret=dic.popitem() #默认删除最后一个,有返回一个值
    print(ret,dic)

    clear清空字典里面的内容
    dic={"name":"太白","age":18}
    dic.clear()
    print(dic)
     
    通过键值直接改
    dic={"name":"太白","age":18}
    dic["name"]="barry"
    print(dic)  # {'name': 'barry', 'age': 18}


    zneg
    update
    dic={"name":"太白","age":18}
    dic.update(sex="男",height=175)
    print(dic) #{'name': '太白', 'age': 18, 'sex': '男', 'height': 175}

    dic={"name":"太白","age":18}
    dic.update([(1,"a"),(2,'b'),(3,'c'),(4,'d')])
    print(dic)

    dic1={'name':"jin",'gae':18,"sex":"male"}
    dic2={"name":"alex","weight":75}
    dic1.update(dic2)
    print(dic2)
    print(dic1)

     
    直接[搜索关键字]
    dic={"name":"太白","age":18}
    print(dic["name"])


    #get ***重点****
    dic={"name":'太白',"age":18}
    v=dic.get("name")
    print(v)`

    v1=dic.get("name1")
    print(v1)# None没有搜索到结果返回None

    v=dic.get("name2")
    print(v)#None没有搜索到结果返回None


    #keys()
    dic={"name":'太白',"age":18}
    print(dic.keys())   #只能查询到头部 dict_keys(['name', 'age'])
    #values()
    dic={"name":"太白","age":18}
    print(dic.values())# 只能查询到内容   dict_values(['太白', 18])


    #items()
    dic={"name":"太白","age":18}
    print(dic.items())   #查询到所有的内容

    字典的嵌套 重点

    dic = {
       'name':'汪峰',
       'age':48,
       'wife':[{'name':'国际章','age':38}],
       'children':{'girl_first':'小苹果','girl_second':'小怡','girl_three':'顶顶'}
    }
    #
    # # 1. 获取汪峰的名字。
    # ubd=dic['name']
    # print(ubd)
    # #
    # # 2.获取这个字典:{'name':'国际章','age':38}。
    #
    # djk=dic['wife'][0]
    # print(djk)
    #
    #
    # #
    # # 3. 获取汪峰妻子的名字。
    # djk=dic['wife'][0]
    # jbk=djk['name']
    # print(jbk)
    #
    #
    #
    # #
    # # 4. 获取汪峰的第三个孩子名字。
    # lk=dic['children']['girl_three']
    # print(lk)
    #

     

  • 相关阅读:
    uva 12034 Race
    计算机基础之计算机硬件软件数据结构
    Project Perfect让Swift在server端跑起来-Perfect in Visual Studio Code (四)
    关于自己定义转场动画,我都告诉你。
    Shell编程入门
    CODEVS 1029 遍历问题
    【VBA研究】工作表自己主动筛选模式检測
    卸载MySQL 5.0
    操作系统(二)进程控制
    前端面试题
  • 原文地址:https://www.cnblogs.com/luomou/p/13660689.html
Copyright © 2011-2022 走看看