七天学会Python基础-第二天1/1-字典的学习

字典的学习

  1. 字典的初识
    • 列表可以存储大量数据,但数据的关联性不强,且列表的查询速度较慢,因此有了字典
    • 字典:{}括起来,以键值对的形式存储的容器型数据类型
      • 字典的键必须是不可变的数据类型且是唯一的,一般最常用的就是int,str(bool和tuple几乎不用)
      • 字典的值可以是任意数据类型,对象。
      • 字典在3.5x版本之前(包括3.5)是无序的。
      • 字典在3.6x会按照初次建立字典的顺序排列,学术上不认为是有序的。
      • 字典在3.7x版本以后都是有序的。
      • 字典的优点:查询速度非常快,存储关联性数据。
      • 字典的缺点:以空间换时间。
    • 字典的创建方式:
      1. dic=dict((('one',1),('two',2),('three',3))),此方式利用了元组的拆包
      2. dic=dict(one=1,two=2,three=3),输入键值对的方式
      3. dict=dict({'one':1,'two':2,'three':3}),官方写法
  2. 字典的使用(增删改查)
    • 增:
      1. dic['sex']=男,直接增加,若键已经存在,则相当于改操作,有则改之,无则增加
      2. dic.setdefault(),使用此方法,若键已经存在则不进行任何操作若键不存在则增加操作
        • dic.setdefault("hoby"),增加一个键为"hoby",值为"None",
        • dic.setdefault("hoby","打球"),增加一个键为"hoby",值为"打球",
    • 删:
      • dic.pop('key',"没有此键"),删除dic字典中键为key的键值对,按照键删除字典中的元素,删除成功返回的是删除的键值对中的值,若删除失败(没有"key"这个键),则返回的是第二个参数
      • del dic['key'],同无返回值的pop()方法,故,不用记
      • dic.clear(),清空字典dic中的内容
    • 改:
      • dic['key']='newstr',将字典dic中键为key的值修改为"newstr"
    • 查:
      • a=dic['key'],得到dic字典中键为key的值,若没有此键会报错
      • a=dic.get('key'),得到dic字典中键为key的值,若没有此键不会报错
      • a=dic.get('key','没有此键'),得到dic字典中键为key的值,若没有此键会返回第二个参数,类似pop
      • dic.keys(),取出字典dic中所有的键放到一个特殊数据类型中,并且此数据类型可以进行迭代(暂理解为列表),此数据类型不能使用索引,并且可以转化成列表,list(dic.keys()),还可以遍历循环它
      • dic.values(),取出字典dic中所有的值放到一个特殊数据类型中,其余同上
      • dic.items(),取出字典dic中所有的键,值放到一个特殊数据类型中,每个元素又是一个单独的元组,可利用解包分别赋值从而取出键和值
  3. 字典的嵌套
    • 字典里面放字典
  4. 补充
    • 数据类型的分类(可变与不可变)
      • 可变的(不可哈希)数据类型:list、dict、set
        • 对原数据可以进行改变,如list的append()方法
      • 不可变的(可哈希)数据类型:str、bool、int、tuple
        • 不可操控原来的数据,只能生成新的数据,如str的upper()方法
posted @ 2021-05-16 23:39  double大博  阅读(116)  评论(0)    收藏  举报