字典

Posted on 2018-09-10 20:08  帅气阿明  阅读(63)  评论(0编辑  收藏  举报
  • 字典:
    • 定义:
      • dict,以{}表示,每一项用逗号隔开,内部元素用key:value的形式来保存数据
      • {key:value,key1:value1}
      • 查询效率高,通过key来查找元素
      • 内部使用key来计算一个内存地址,hash算法.key必须是不可变的数据类型(key必须是可哈希的)
    • 增:
      • dic=[]
      • dic['徐峥']='人在囧途'
      • 如果key不存在便会进行添加
      • 如果key已经存在将会被新的value替换
      • dic.setdefault('黄秋生')
      • 如果key不存在便会进行添加,如key对应的值不存在存入None
      • 如果key已经存在不会执行新值替换旧值
    • 删:
      • dic.pop(目标)#指定目标删除
      • dic.popitems()#随机删除
      • del dic['目标']#删除
      • dic.clear()#清空字典
    • 改:
      • dic[目标的key]=新值
      • dic1=新的字典
      • dic.update(dic1)#新的换进旧的
    • 查:
      • dic[想查的key]#存在返回值,如果key不存在会报错
      • dic.get(想查的key,返回值)#有key没有key返回返回值(默认返回值为None)
      • setdefault()#1.新增流程(先看有没有key,有就过,没有执行新增),2.根据key返回值==>先执行第一步,在进行第二部
    • 相关操作:
      • dic.keys()拿到的结果像列表但不是列表,可循环
      • for key in dic.keys()
      • key
      • dic[key]
      • dic.valuse()拿到的是值
      • dic.items()#拿到的是key和valse,拿到的结果是元组
    • *遍历字典:
      • for k,v in dic.items:
      • k
      • v
      • for k in dic:
      • k
      • dic[k]
    • 结构:解包,元组和列表都可以结构
      • 语法:前面的变量和后面的值必须一致
      • a,b=10,20
      • a=10
      • b=20
    • 字典本身可以循环:
      • for el in dic:
      • el 为key
    • 字典嵌套:
    • hash算法:可哈希的目标不可变,不可哈希的是可变的