python基础5---dict

  • 字典的初始:

    • why:

      • 列表可以存储大量数据,但是数据之间的关联性不强
      • 列表的查询速度比较慢
    • what:容器数据类型:dict

    • howL:

      • 数据类型的分类(可变和不可变):

        • 可变(不可哈希)的数据类型:list dict set
        • 不可变(可哈希)的数据类型:str bool int tuple

        字典:{} 括起来,以键值对形式存存储的容器型数据类型

        • 键必须是不可变的数据类型 int str (bool tuple 几乎不用),而且是唯一的
        • 值可以是任意数据类型 对象
        • 字典3.5版本之前(包括3.5)是无序的
        • 3.6会按照建立字典的顺序排列,学术上不认为是有序的
        • 3.7以后都是有序的
        • 字典缺点:以空间换时间
        • 优点:查询速度快,存储关联性的数据
    • 字典的创建方式:

      • 方式1:dict = dict((('one,1'),('two',2),('three',3)))
      • 方式2:dict = dict(one = 1,two = 2,three = 3)
      • 方式3:dict = dict({'one':1,'two':2,'three':3})
    • 方式4:dict = {'one':1,'two':2,'three':3}

  • 字典的增删改查:

    • 增:dict.setdefualt('键','值') 键如果存在 不会改变 并返回对应的值,直接增加 dict['键'] = 'value' 缺点如果存在会改变
    • 删:pop('键','自定义返回值') 默认是返回删除的值 有第二个参数 即使找不到键也不会报错;del dict['键'] 如果不存在会报错;dict.clear() 清空
    • 改: dict['键'] = '要改的值'
    • 查:dict['k'] 按键去查 如果不存在会报错,不推荐使用,一般用get,dict.get('k','自定义返回值') ,找到返回value 没找到返回自定义
  • 字典的创建方式:

    # 面试会考
    # 方式一:
    # dic = dict((('one', 1), ('two', 2), ('three', 3))) # print(dic) # {'one': 1, 'two': 2, 'three': 3}
    # 方式二:
    # dic = dict(one=1, two=2, three=3) # print(dic)
    # 方式三:
    # dic = dict({'one': 1, 'two': 2, 'three': 3}) # print(dic)
    
  • 验证字典的合法性:

    dic = {[1,2,3]: 'ajax', 1: 666} # 键要不可变的数据类型 print(dic)
    dic = {1: 'alex', 1: '张三', 2: '李四'} # 键要唯一 print(dic)
    
原文地址:https://www.cnblogs.com/he-qing-qing/p/14320237.html