python基础5

字典

  • 什么是字典

    • 能存储大量关系型数据的一个容器数据类型
    • {}包裹的
    • 以键值对的方式存储数据的
  • 基本结构

    • dic = {
      'key':value,
      'key1':value
      }
      
  • 字典要求

    • 键必须是可哈希的【即不可变的数据类型】(int str 【很少 boolean tuple】)
    • 值可以是任意类型
    • 用逗号分割每一组键值对
  • 字典和列表的区别

    • 相同点:都是能储存大量数据的容器数据类型,【在3.6X以上的版本字典可以说是有序的(插入序)】
    • 不同点:
      • 列表通过索引取值,速度相对字典较慢
      • 字典通过key取值,速度较快
      • 列表的数据毫无关联性,字典是关系型数控类型
  • 字典的优缺:

    • 优:查询速度快,数据关系明确
    • 缺:占用空间,明显的以空间换时间
  • 字典的常见的创建方法

    • 方法一

      • dic = dict((('key',value),('key1',value)))
        
    • 方法二

      • dic = dict(key=value,key1 = value)
        
    • 方法三

      • dic = dict({'key':value})
        
    • 方法四

      • dic = dict(zip(iterable,iterable)) # 木桶效应
        
    • 方法五

      • dic = { k,v for k in itearable for v in itearable}
        
    • 方法六

      • dic = fromkeys(itearable,value)
        # 将一个可迭代对象拆分,每一个元素都是key,每一个键对应的值就是value
        
  • 字典的增删改查

      • 方法一【存在改的操作,如果存在key就改值,没有就创建】

        • dic['key'] = value
          
      • 方法二【如果存在key就不增加,不存在就增加(有则不加,无则加值)】

        • dic.setdefault(key,value)
          
    • 删【重点就是pop方法】

      • 方法一【按照key找值,如果key不存在,就会报错,如果设置default_value当pop找不到key时,不会报错,只会返回default_value

        • dic.pop(key,default_value)
          
      • 方法二【清空字典】

        • dic.clear() 
          
      • 方法三【按照key删除,找不到key就报错】

        • del dic[key]
          
    • 改【主要是update】

      • 方法一

        • dic[key] = new_value
          
      • 方法二【update更新数据的意思,有则改之,无则加对】

        • dic.update(key = value,key = value)
          dic.update(dic)
          dic.update([(key,value),(key1,value1)])
          
    • 查【常用get方法】

      • 方法一

        • dic[key]
          
      • 方法二【返回值是key对应的值,如果没有设置default_value找不到值会报错,设置了,找不到就会返回预设值】

        • dic.get('key',default_value)
          
  • 字典的其他常用方法

    • 方法一

      • dic.keys() # 返回值是一个类似于列表的数据类型,仅仅是类似,没有列表的任何属性,可以转换为列表
        
        l = list(dic.keys())
        # 一般与for循环联用
        for key in dic.keys():
        	print(key)
        # 其实直接使用for循环,遍历字典,返回值也是key
        for key in dic:
        	print(key) #也是字典的全部key
        
          di = dict(zip('abcd2','1234'))
          print(di)
          print(type(di.keys()[1]))
          TypeError: 'dict_keys' object is not subscriptable
          dict_keys是无序的
        
    • 方法二

      • dic.values() #同上,返回值是字典的全部values,也可转成list
        
        # 一般也是与for循环联用
        for value in dic.values():
        	print(value)
        
        
    • 方法三

      • dic.items() # 返回值是一个类似列表内包裹多个元组,每一个元组内存放的是key和value的二元组
        
        # 一般与for联用
        for key,value in dic.items(): #这里存在拆包赋值的操作
        	print(key,value)
        
        
  • 字典的嵌套

    • 在字典内嵌套字典、列表、set

      • dic = {
        'key':{
        	'name':'p',
        	'age':24,
        	hobby_list:[;;;;]
        }
        }
        
    • 字典的嵌套与列表的嵌套十分相似,得一层层得找到要找到要找的数据

posted @   MoSter-CXM  阅读(26)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
点击右上角即可分享
微信分享提示