Python之路Day05

字典

字典 -- dict

  • Python的数据结构之一
  • 字典是可变数据类型,无序的

定义

  • dic = {'key':'Value'}
    • 键值对

字典的作用

  • 存储数据,大大量的,将数据和数据起到关联作用
  • dic={'10':'苹果',11:'小米',Ture:'华为',(1,):'oppo'}
    • 所用的操作都是通过键
  • 键:必须是不可变的数据类型(可哈希),且唯一
    • 已知的不可变(可哈希)的数据类型: int, str, tuple, bool
    • 可变(不可哈希)的数据类型: list, dict, set
  • 值:任意
  • dic.get()

字典的增

暴力添加
  • dic['键']='值'
    • 字典的添加,添加的是一个键值对,有则覆盖,无则添加
    • dic['键']=['值1','值2','值3','值4']
有则不修改,无则添加
  • dic.setdefault('键':['值1','值2','值3'])
    • 先查看键是否在字典
    • 如果不存在则添加

字典的删除

  • dic.pop(键)
    • 删除字典中的键进行删除,返回的也是被删除的键
  • dic.clear()
    • 清空
  • del dic
    • 删除整个字典
  • del dic[键]
    • 通过键删除
  • 字典中没有remove ()

字典的改

  • dic[键]=值
    • 有则覆盖,无则添加
  • dic.update({键:值,键:值})
    • dic.update(字典)

字典的查

  • dic.get(键)

  • dic.setdefault(键)

    • 没有值时是查询
    • 查询不到返回None
  • dic[键]

    • 查询不到报错
  • for i in dic:
        print(i)
    
  • for i in dic:
        print(dic.get(键))
    
    • 查询不到返回None
  • for i in dic:
        print(dic.get(键,键))
    
    • dic.get(键 , 制定的查询不到就返回的值)
  • 查找不到返回自己制定的内容

  • dic.kyes() #所有的键

    • 获取到的是一个高仿的列表
  • dic.values() # 所有的值

    • 获取到的是一个高仿的列表
      • 高仿列表支持迭代不支持索引
  • dic.items()

    • 键值呈现元组
解构
  • a=10
    b=20
    a,b=b,a
    
  • a,b=10,20
    print(a)
    print(b)
    
  • a,b=(10,20)
    print(a)
    print(b)
    
  • a,b=[10,20]
    print(a)
    print(b)
    
  • a,b='wc'
    print(a)
    print(b)
    
  • dic={'key1':2,'key2':4}
    a,b=dic
    print(a)
    print(b)
    输出:key1
    	 key2
    
    
  • for a,b in 字典名.items():
        a:键
        b:值
    
    
解构作用
  • lst=[1,2,3,4,5,6,7,8]
    a,b,c,d,e,*f=lst   #一一对应赋值,必须多一个(*变量名)用来存储剩下的数据
    print(a)
    print(b)
    print(e)
    
    

字典的嵌套

  • dic={
        101:{1:{'日莫':{'对象'}},
             2:{'老王':{'王炸'}},
             3:{'乔碧螺':['日莫','炮手','宝元']},
            },
        102:{1:{'汪峰':{'国际章':{'小苹果','大鸭梨'}}},
             2:{'邓紫棋':['泡沫','信仰','天堂','光年之外']},
             3:{'腾格尔':{'隐形的翅膀','卡路里','日不落'}}
            }
    }
    
    
    • 按照键一层层进行查
原文地址:https://www.cnblogs.com/zlx960303/p/11882087.html