字典

字典

  1. 字典初识

    dict{"key","value"}

    简写dic

    字典是无序的

    字典是可变的

    字典的键是可哈希(hash)的,且唯一

    字典的值没有要求

  2. 字典使用

    增删改查

    增:

    1. 直接加dic["key"]="value"
    2. setdefaul("键","值") :键不存在就添加,存在就不添加

    删:

    1. 字典没有remove
    2. pop()随机删除
    3. del (dic)删除整个字典 也可以通过知道键位,删除
    4. dic.clear() 结果是一个空字典

    改:

    1. dic["key"]="value",key存在的情况下,是修改,key不存在,就是增加
    2. dic.update() 括号里面的是高级数据,字典级别高,会把前面字典中,相同KEY的值覆盖掉

    查:

    1. 字典的查询只能通过键获取值,不能通过值,获取键

    2. 如果有键在字典中,就显示对应的值,不存在就报错

    3. get()

      print(dic.get("c","是不是傻"))返回值可以自己定义,不定义的话,默认none

    4. for i in dic:

      ​ print(dic) 打印的是key值

      ​ print(i,dic[i])#正确的输出格式

    5. dic.keys() 得到的是高仿列表,不能进行索引,可以进行for循环

    6. dic.values() 得到的是高仿列表,不能进行索引

    7. dic.items():得到的是高仿列表,不能进行索引,得到的是元组类型的数据

    扩展:解构的实质是变量指向位置的转换

    a=1
    b=2
    print(id(a))
    print(id(b))
    a,b=b,a
    print(id(a))
    print(id(b))
    print(a,b)
    a.b=1,2
    a,b=(45,6)
    a,b=[1,4]
    a,b={"s":1,"a":2}   #都可以进行解构
    
for i,k in enumerate(dic,计数起始数值(默认是0)):
    print(i,k)
   enumerate() #枚举法,,序号加迭代对象,列表同样适用

3.字典的嵌套

dic={

      101:{1:["周杰伦","林俊杰"],2:["汪峰":["国际章","前妻"]]}

}

4.字典能干啥

  1. 字典是存储大量数据,字典比列表还要大

  2. 字典查找值的时候狗方便,快速

  3. 字典能够进行关联

缺点:比较消耗内存

最常用的数据:字符串,列表,字典

字典和列表的使用区别:

  1. 有明确对应关系,用字典
  2. 目前所学的知识点,不能转化字典
原文地址:https://www.cnblogs.com/li-dong-yu-95-11-21/p/11000311.html