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('该用户已存在')

浙公网安备 33010602011771号