Python学习之==>字典
1、特点
1 取数据方便 2 速度快 3 key-value格式,类似Jason格式 4 infos = {'name':'Jack','sex':'男','age':'22','addr':'地球'}
2、查询元素
1 # 通过key查询value 2 infos = {'name':'Jack','sex':'男','age':'22','addr':'地球'} 3 print(infos.get('name')) 4 print(infos.get('phone')) # 取不到key的话,返回None 5 print(infos.get('name',110)) # 能取到key,后面的110不生效 6 print(infos.get('phone',110)) # 取不到key的话,默认返回110 7 print(infos['name']) 8 print(infos['phone']) # 如果key不存在,会报错
3、增加元素
1 # 增加元素 2 infos = {'name':'Jack','sex':'男','age':'22','addr':'地球'} 3 infos['Phone'] = 12877619908 # 增加一个key 4 infos.setdefault('家乡','深圳') 5 infos.setdefault('家乡','广东') # 如果key存在的话,不会修改原来key的值 6 print(infos)
4、 修改元素
# 修改元素 infos = {'name':'Jack','sex':'男','age':'22','addr':'地球'} infos['addr'] = 'guangdong' # key存在时,修改原来key的值,key不存在时,添加元素 print(infos)
5、删除元素
1 # 删除元素 2 infos = {'name':'Jack','sex':'男','age':'22','addr':'地球'} 3 infos.pop('addr') # 指定key删除 4 del infos['name'] # 指定key来删除 5 infos.popitem() # 随机删除一个key 6 infos.clear() # 清空字典
6、合并字典
1 a = {"K1":"V1"} 2 b = {"K2":"V2"} 3 a.update(b) #将b字典的元素加入到a字典里面 4 print(a)
7、字典常用方法
1 infos = {'name':'Jack','sex':'男','age':'22','addr':'地球'} 2 infos.keys() # 获取到字典所有的key 3 infos.values() # 获取到字典所有的value 4 infos.items() # 获取到字典所有的key-value
9、循环字典
1 people = { 2 '天宇':18, 3 '张萌':20, 4 '任钱':35 5 } 6 # 直接循环一个字典的话,循环的是字典的key 7 for p in people: 8 print(p) 9 # 循环的时候,同时取key和value 10 for k,v in people.items(): 11 print(k,'===>',v)
10、练习:注册小程序
1 # 字典小练习:注册小程序 2 # (1)使用字典存放所有的账号和密码 3 # (2)用户名和密码不能为空 4 # (3)判断用户名是否已注册 5 # (4)判断两次输入的密码是否一致 6 # (5)注册成功将用户名和密码写入字典 7 8 users = { 9 'niuhanyang':'123456', 10 'jack':'456789', 11 'tony':'135790' 12 } 13 username = input('请输入用户名:').strip() 14 passwd = input('请输入密码:').strip() 15 cpasswd = input('请输入密码:').strip() 16 if username not in users: 17 if username != '' and passwd != '' and cpasswd != '': 18 if passwd == cpasswd: 19 users[username] = passwd 20 print(users) 21 print('注册成功') 22 else: 23 print('两次密码输入不一致') 24 else: 25 print('用户名或密码不能为空') 26 else: 27 print('该用户已存在')