• 字典和枚举


    字典

    为什么要有字典

    列表可以存储大量数据.数据之间的关联性不强.
    列表的查询速度比较慢(~据说相差不大。在大数据情况下母鸡)
    

    什么是字典数据类型

    字典{}花括号,括起来,以键值对形式存取:
        - 键必须是不可变的数据类型:唯一的
        - 值可以是任意数据类型,对象.
        - 字典3.5版本之前(包括3.5)是无序的,字典3.6会按照初次建立字典的顺序排列学术上不认为是有序的.字典在3.7版本后有序的.
        - 字典的优点:查询速度非常快,存储关联性数据
        - 字典的缺点:以空间换时间(字典查询速度非常快的原因)
    

    字典的创建方式

    - 方式一:dic = dic((("one",1),("two":2),("three":3)))
    - 方式二:dic = dict(one = 1,two = 2,three = 3)
    - 方式三:dic = dict({"one":1,"two":2,"three":3})
    

    字典的增删改查

    dic = {"name":"luyi","age":18}

    增:
        - dic["sex"] = "男"    直接增加,如果有的话就修改了
        - dic.setdefault("hobby") 增加key,如果无值则值为NONE
          dic.setdefault("hobby","天天") 有值则加
          总结: 有则不变,无则增加
    
    删:
        pop 按照键删除键值对.返回值为key对应的值.
            dic.pop("age")
        设置如果没有删除对象时的返回值
            dic.pop("dd","没有此键")
        设置字典中第二个参数,如果没有第一个键.则返回第二个参数
    
    改:
        dic["name"] = "帅" 
        update
          dic.update(se = "rpg")   有则更改,无则增加(目测数字key不能用update)
    
    查:
        get 
        li = dic.get("hobby")
        lt = dic.get("hobby","第二个为返回值")  第二个为返回值
    
    	dic['键']   也可以查询
    

    三个字典的特殊方法

    keys 
    dic.keys  列出字典中所有的键
    	li = dic.keys()
    	结果为:dict_keys(['name', 'age', 'hobby'])
    
    vlaues
    dic.values  列出字典中所有值
    
    items(得到键值对)
    for key,value in dic.items():
     		print(key,value)可以得到列表所有的key 和value
    	name luyi
    	age 18
    	hobby ['天天', 'rpg']
    

    字典的嵌套

    dic={'s':{'s':'a'}}
    
    可以无限嵌套
    

    枚举

    li = ["a","b","c"]
    for i in enumerate(li):
    	print(i)
    
    
    --->
        (0, 'a')
        (1, 'b')
        (2, 'c')
    
    将可迭代类型的索引及其对应的元素返回。拆包和字典恰当使用有妙用
    
  • 相关阅读:
    【Android进阶】判断网络连接状态并自动界面跳转
    【Android进阶】快捷图标的创建与移除
    【Android基础】单元测试的配置
    【Android基础】短信的发送
    【Android基础】Activity之间进行参数传递的三种方式
    【Android基础】AndroidManifest常用权限permission整理
    【Android进阶】ZXing android 错误(Could not find class 'com.google.zxing.ResultPoint)
    【Android基础】点击Back键退出应用程序
    【Android进阶】Application对象的详解
    js案例_下滑列表
  • 原文地址:https://www.cnblogs.com/luyi84895838/p/11725096.html
Copyright © 2020-2023  润新知