字典

字典

dict

1.基本结构

2.字典的value可以是任何值

3.布尔值(1,0)可以作为字典的key,和1,0重复,列表,字典不能作为字典的key

4.字典是无序的

 

5.字典的key:必须为不可变类型,value:任意类型

    用途:

        存多个值,每一个都有一个映射关系 

s = 'hello kk how are you '
data = s.split(' ')
dic = {}
for i in data:
    dic.setdefault(i,data.count(i))
print(dic)
#   {'hello': 1, 'kk': 1, 'how': 1, 'are': 1, 'you': 1, '': 1}

 

  

 

 

info ={
    "k1":11,
    "k2":True,
    "k3":[
        11,
        [],
        (),
        22,
        33,
        {
            "kk1":"vv1",
            "kk2":"vv2",
            "kk3":(11,22),

        }
    ],
    "k4":(11,22,33,44)
}
print(info["k3"][5]["kk3"][0])       #11

 

字典支持del删除

info ={
    "k1":11,
    "k2":True,
    "k3":[
        11,
        [],
        (),
        22,
        33,
        {
            "kk1":"vv1",
            "kk2":"vv2",
            "kk3":(11,22),

        }
    ],
    "k4":(11,22,33,44)
}
# print(info["k3"][5]["kk3"][0])       #11
del info["k3"][5]["kk1"]
print(info)
#{'k1': 11, 'k2': True, 'k3': [11, [], (), 22, 33, {'kk2': 'vv2', 'kk3': (11, 22)}], 'k4': (11, 22, 33, 44)

  

info ={
    "k1":11,
    "k2":True,
    "k3":[
        11,
        [],
        (),
        22,
        33,
        {
            "kk1":"vv1",
            "kk2":"vv2",
            "kk3":(11,22),

        }
    ],
    "k4":(11,22,33,44)
}

for k,v in info.items():
    print(k,v)

# k1 11
# k2 True
# k3 [11, [], (), 22, 33, {'kk1': 'vv1', 'kk2': 'vv2', 'kk3': (11, 22)}]
# k4 (11, 22, 33, 44)

  

 

# 根据序列,生成字典,指定统一的值
c = dict.fromkeys(["kdj","sdifj",888],333)
print(c)   #{'kdj': 333, 'sdifj': 333, 888: 333}

 

  

根据key获取值,key不存在时,可以指定默认值(None)
info ={ True:234, "k1":11, "k2":True, "k3":[ 11, [], (), 22, 33, { "kk1":"vv1", "kk2":"vv2", "kk3":(11,22), } ], "k4":(11,22,33,44) } v = info.get("k2","ppp") print(v)  #True

  

#指定某一个key删除,并获取值
dic = {
    "k2":"v2",
    "k3":"v3",
}
c = dic.pop("k4",8888)
print(c,dic)        #8888 {'k2': 'v2', 'k3': 'v3'}
#随机删除一组键值对
c = dic.popitem()
print(c,dic)        #('k3', 'v3') {'k2': 'v2'}
#设置值
#已存在,不设置,获取当前key对应的值
#不存在,设置,获取当前key对应的值
dic = {
    "k2":"v2",
    "k3":"v3",
}

c = dic.setdefault("k4",6666)
print(c,dic)        #6666 {'k2': 'v2', 'k3': 'v3', 'k4': 6666}
#更新
dic = {
    "k2":"v2",
    "k3":"v3",
}
dic.update({"k4":33333,"k6":7777})
print(dic)#{'k2': 'v2', 'k3': 'v3', 'k4': 33333, 'k6': 7777}

dic.update(k1=1223,k2=343,k3=67678)
print(dic)          #{'k2': 343, 'k3': 67678, 'k4': 33333, 'k6': 7777, 'k1': 1223}

 ##################keys()######value()#####items()#####get()#########

  

 

posted @ 2019-03-11 12:47  xyqd  阅读(15)  评论(0)    收藏  举报