# key - value
# string list dict
# 1、取数据方便
# 2、速度快,
#查
# print(infos.get('phone'))#取不到这个key的话,就是None
# print(infos.get('phone',110))#如果取不到这个key的话,默认就是110
# print(infos['phone'])#如果key不存在会报错
infos = {'name':'张一一','sex':'男','addr':'火星','age':180}
#增
infos['phone']=13611111111 #增加一个key
infos.setdefault('小金库','2000w')
infos.setdefault('name','王小一') #如果key存在的话,不会修改原来key里面的值
infos['name']='王小一' #如果key存在的话,会修改原来key对应的value
# print(infos)
#字典是无序的
#修改
infos['name']='王小一'
#删除
# infos.pop('name') #指定key来删除
# infos.popitem() #随机删除一个key
# del infos['phone'] #指定key来删除
# infos.clear() #清空字典
#方法
# print(infos.values())#获取到字典所有的value
# print(infos.keys()) #获取到字典所有的key
# print(infos.items()) # 获取字典所有的k-v
people = {
'小田':{
'age':18,
'money':200000,
'clothes':'100套',
'hzp':'n多',
'shoes':['nike','addis','lv','chanle']
},
'张一一':{
'金库':'2000w',
'house':['三环一套','4环2套'],
'cars': {
'japan':['普拉多','兰德酷路泽'],
'usa':['林肯','凯迪拉克','福特'],
'china':['五菱宏光','qq','红旗']
}
}
}
people['张一一']['cars']['usa'].append('牧马人')
# people['小田']['shoes'].append('匡威')
# print(people)
# people['小田']['money'] = people['小田']['money']+200
# people['小田']['money'] += 200
# print(people)
#直接循环一个字典的话,那么循环的是字典的key
# for p in people:
# print(p)
for k,v in people.items(): #循环的时候,同时取key和value
print(k,'======》',v)
小练习
users = {
'lele':'123456',
'yiyi':'456789',
}
#所有的账号和密码
# username
# pwd
# cpwd
# print( '123456' in users ) #字典里面用in来判断的话,只是判断key是否存在
for i in range(3):
username = input('账号:').strip()
passwd = input('密码:').strip()
cpasswd = input('密码确定:').strip()
if username=='' or passwd=='' or cpasswd=='':
print('用户名/密码不能为空')
elif username in users:
print('用户名已经被注册!')
elif passwd!=cpasswd:
print('两次输入的密码不一致')
else:
print('恭喜,注册成功!')
# users.setdefault(username,passwd)
users[username]=passwd
break
else:
print('错误次数过多')
print(users)