字典操作

字典一种key - value 的数据类型,使用就像我们上学用的字典,通过笔划、字母来查对应页的详细内容。

语法:

info = {
    'stu1':"saber",
    'stu2':"archer",
    'stu3':"rider",
}

字典的特性:

  dict是无序的

  key必须是唯一的,天生去重

 增加:

print(info['stu1'])
info['stu4'] = "lancer"
print(info)
{'stu1': 'saber', 'stu2': 'archer', 'stu3': 'rider', 'stu4': 'lancer'}

修改:

info['stu1'] = "剑士"
print(info)
{'stu1': '剑士', 'stu2': 'archer', 'stu3': 'rider', 'stu4': 'lancer'}

删除:

info
{'stu1': '剑士', 'stu2': 'archer', 'stu3': 'rider', 'stu4': 'lancer'}
del info['stu4'] #标准删除
{'stu1': '剑士', 'stu2': 'archer', 'stu3': 'rider'}
info.pop('stu3') #第二种删除方式
{'stu1': '剑士', 'stu2': 'archer', 'stu4': 'lancer'}
info.popitem() #随机删除
{'stu1': '剑士', 'stu2': 'archer', 'stu3': 'rider'}

查找:

info
{'stu1': '剑士', 'stu2': 'archer', 'stu3': 'rider', 'stu4': 'lancer'}
print(info['stu5']) #标准查找,如果有key存在会打印,如果key不存在会报错
>>KeyError: 'stu5'
print(info.get("stu5")) #第二种查找,如果key存在就会打印,如果key不存在会返回NONE
>>None
print('stu5' in info) #判断key是否存在,如果存在打印True,如果不存在打印False
>>False

其他

info
{'stu1': '剑士', 'stu2': 'archer', 'stu3': 'rider', 'stu4': 'lancer'}
#setdefault
info.setdefault('stu5',"caster") #查找 key stu5,如果有就打印出来,如果没有就创建一个stu5
print(info)
{'stu1': '剑士', 'stu2': 'archer', 'stu3': 'rider', 'stu4': 'lancer', 'stu5': 'caster'}

#values
print(info.values()) #打印所有的values
dict_values(['剑士', 'archer', 'rider', 'lancer'])

#keys
print(info.keys()) #打印所有的key
dict_keys(['stu1', 'stu2', 'stu3', 'stu4'])

#update
update_info = {'stu1':"saber",
               '123':"abc",
               '456':"def",
               }
#更新字典,当新字典出现新的key时,会被更新到旧字典,当有旧字典的key跟新字典的key相同时,旧字典key的内容会被覆盖
info.update(update_info)
print(info)
{'stu1': 'saber', 'stu2': 'archer', 'stu3': 'rider', 'stu4': 'lancer', '123': 'abc', '456': 'def'}

#items
print(info.items()) #把字典转换成列表
dict_items([('stu1', '剑士'), ('stu2', 'archer'), ('stu3', 'rider'), ('stu4', 'lancer')])

 

 

多级字典嵌套和操作

catalog = { "北京":
               {"海淀":["国家图书馆","中关村"]},
           "辽宁":
               {"沈阳":["五里河体育场","沈阳故宫"]},
           }
catalog["北京"]["海淀"][1] = "鼎好大厦" #修改第三层字典内容
{'北京': {'海淀': ['国家图书馆', '鼎好大厦']}, '辽宁': {'沈阳': ['五里河体育场', '沈阳故宫']}}

字典的循环

#方法1
for i in info:
    print(i,info[i]) #同时打印字典的key和value

#方法2
for k,v in info.items(): #先把字典转换成列表再打印,大数据量时不要使用
    print(k,v)

 

posted @ 2017-06-20 18:40  七天&七天  阅读(136)  评论(0编辑  收藏  举报