python之变量的数据类型(3)dict 及解构简单介绍
一、变量的数据类型(3)
1. dict
字典dict 用{}来表示 键值对数据 {key:value} 唯一性
键 都必须是可哈希的 不可变的数据类型就可以当做字典中的键
值 没有任何限制
       2.增删改查
增加
dic[key] = value
dic.setdefault(key,value) 如果键在字典中存在不进行任何操作,否则就添加
可以通过key查询,没有这个key返回None
删除
            pop(key)                    有返回值  返回的是被删除value
            del dic[key]
            popitem()                   随机删除
            clear()                     清空字典
  修改
            dic[key] = value
            dic.update(字典)
查询
            get(key)
            dic[key]
            for 循环
            setdefault(key)
字典的其他操作:
keys 获取到所有的键存在一个高仿的列表中
values 获取到所有的值存在一个高仿的列表中
items 获取到所有的键值对已元祖的形式存在一个高仿的列表中
字典的嵌套:
列:
                dic = {
                      'name':'汪峰',
                      'age':43,
                      'wife':{
                          'name':'国际章',
                          'age':39,
                          'salary':100000
                    },
                    'baby':[
                          {'name':'熊大','age':18},
                          {'name':'熊二','age':15},
                       ]
}
二、解构
解构是将后边解构打开按位置赋值给变量
支持 字符串 列表 元组
例子练习:
一、将字符串 "k:1|k1:2|k2:3|k3:4" 处理成字典 {'k':1,'k1':2....}
利用解构来将字典里面对应的键值对输入,也可以使用切片方法。
代码如下:
1 s = "k:1|k1:2|k2:3|k3:4" 2 new = {} 3 s = s.split("|") 4 # for i in s : 5 # s =i.split(":") 6 # new[s[0]]=int(s[1]) 7 # print(new) 8 for i in s: 9 a,b=i.split(":") 10 new[a] = int(b) 11 print(new)
二、元素分类有如下值li= [11,22,33,44,55,66,77,88,99,90],将所有大于 66 的值保存至字典的第一个key中,将小于 66 的值保存至第二个key的值中。
即: {'k1': 大于66的所有值列表, 'k2': 小于66的所有值列表}
代码如下:
1 li= [11,22,33,44,55,66,77,88,99,90] 2 new = {"k1":[],"k2":[]} 3 for i in li : 4 if i > 66: 5 new.setdefault("k1").append(i) 6 elif i < 66: 7 new.setdefault("k2").append(i) 8 print(new)

 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号