day3-python---字典

#字典:k-v形式,有点,速度快,好取值,字典没有索引,list有索引,字典没有顺序
#name,sex,shengao,age,email,addr,id

stu1 = {
'name':'张三',
'sex':'男',
'shengao':'180',
'age':20,
'email':'abc@qq.com',
'addr':'地球',
'id':1
}
stu2 = {
'name':'李四',
'sex':'男',
'shengao':'180',
'age':30,
'email':'abc@qq.com',
'addr':'火星',
'id':2
}

#增删改查
#增加
print(stu1)
print(stu2)
print(stu1['name'],stu2['addr'])
#print(stu1['test'])#如果打印一个没有的key,则报错,可以先使用get来确认是否存在
#增加的内容是否会存入字典中?存入缓存中
stu1['test'] = 'beijing'#增加
stu1.setdefault('salary',1000)#设置默认值,如果有值,就不修改为默认值了;如果无值,则赋值为默认值
#查询
print(stu1.get('test'))#获取
print(stu1['test'])#获取,和上面的get区别;get在没有此key-value的情况下,不会报错
print(stu1)
print(stu2)

#删除
stu2.pop('age')#删除age;如果删除不存在的key,则报错
print(stu2)
stu2.popitem() #随机删除
print(stu2)
del stu2['name']
print(stu2)
#删除字典 del stu1

print(stu1.values())#打印此元素的所有values
print(stu1.keys())#打印此元素的所有keys
#如果想要删掉某个key的value,哈哈肯定不行,因为字典里面是键值对存在的


#修改
name = {'address':'北京'}
stu1.update(name) #如果原来没有,则是增加,算是字典合并,是无序的
print(stu1)
name = {'addr':'南京'}
stu1.update(name) #字典修改value值
print(stu1)

for i in stu1:#此处打印的i是key值,此处也可以使用stu1.keys()但是会多查一下字典
#print(i)
if i == 'name':
print(stu1[i])

for k,v in stu1.items():#最简便
print(k,'->',v)

for k in stu1:
print(k,'->',stu1.get(k))


posted @ 2018-08-29 22:58  白兰鸽05  阅读(137)  评论(0编辑  收藏  举报