###################### February 23th ##########################
#dict 字典
#1.基本机构:字典是以键值对的形式存在的
# info = {'k1':'v1', #键值对
# 'k2':'v2'
# }
#2.字典的value可以是任何值,如列表,元组
# info ={
# 'k1':18,
# 'k2':True,
# 'k3':[
# 11,
# 22,
# 33,
# {
# 'kk1':'vv1',
# 'kk2':'vv2',
# 'kk3':(11,22)
# }
# ]
# }
# print(info)
#3.布尔值,列表,字典不能作为字典的key,value可以是任意类型,注:True 在计算机中代表的是1,如果有key值也有1的话,
# 哪么True是不会被显示的
# info = {
# 1:'daf',
# 'daf':'ok',
# True:'45',
# #[22,33]:32, #列表不能作为字典的key
# (58,96):963,
# #{'34':'er'}:21 #字典不能作为字典的key
# }
# print(info)
#4.字典是无序的
# info ={
# 'k1':18,
# 3:True,
# 'k3':[
# 11,
# 22,
# 33,
# {
# 'kk1':'vv1',
# 'kk2':'vv2',
# 'kk3':(11,22)
# }
# ]
# }
# print(info)
#5.通过索引的方式查找元素
# v1 = info['k1'] #可以通过key查找
# print(v1)
# v2 = info[3] #如果key是数字直接在写数字,不用加引号
# print(v2)
# v3 = info['k3'][3]['kk3'][0] #多层嵌套,逐层找key,再找到元素所在索引位置
#6.字典的 del 删除
# info ={
# 'k1':18,
# 3:True,
# 'k3':[
# 11,
# 22,
# 33,
# {
# 'kk1':'vv1',
# 'kk2':'vv2',
# 'kk3':(11,22)
# }
# ]
# }
#
# # del info['k1']
# del info['k3'][3]['kk2']
# print(info)
#7.字典支持for循环
# info ={
# 'k1':18,
# 3:True,
# 'k3':[
# 11,
# 22,
# 33,
# {
# 'kk1':'vv1',
# 'kk2':'vv2',
# 'kk3':(11,22)
# }
# ]
# }
# for item in info: #这个for循环的方式只能循环到key
# print(item)
# for item in info.keys(): #使用其内置的方法keys也可以循环key
# print(item)
# for item in info.values(): #使用其内置的方法values也可以循环value
# print(item)
# for item in info.keys(): #一起取出key 和value
# print(item,info[item])
# for k,v in info.items(): #使用内置的方法item也可以一起取出key和value
# print(k,v)
########################### February 24th# ####################
#dict的方法
#1.根据给出的序列->['k1',123,'k3'],创建字典,并指定统一的值 ->'rt'
# v = dict.fromkeys(['k1',123,'k3'],'rt')
# print(v)
#2.用get根据key获取值,key不存在时,可以指定默认值(None)
# dic = {'k1':'l22'}
# v = dic.get('k14','no')
# print(v)
#3.pop指定删除,某一元素,popitem随机删除元素(删除并获取值)
# dic = {'k1':'l22',
# 'k2': 'p2'}
# #v = dic.pop('k1') #指定删除‘k1’的元素
# v2 = dic.popitem() #随机删除字典中的任意元素
# print(dic,v2)
#4.setdefault 设置值, 存在,不设置,获取当前key对应的值
# 不存在,设置,获取当前key对应的值
# dic = {'k1':'l22',
# 'k2': 'p2'}
# #v = dic.setdefault('k1','456') #存在
# v = dic.setdefault('k41','456') #不存在
# print(dic,v)
#5.update更新,对应有的key,更改其value.如果没有的key,直接添加上去
dic = {'k1':'l22',
'k2': 'p2'}
# dic.update({'k1':'3333','k3':'yes'})
# print(dic)
# dic.update(k1=234,k3=678,k5='lkj') #update的另一个写法
# print(dic)
#总结:keys() values() items() get() update()使用频率是最低的了