字典是另一种可变容器模型,且可存储任意类型对象。
字典的每个键值 key=>value 对用冒号 : 分割,每个对之间用逗号(,)分割,整个字典包括在花括号 {} 中 ,格式如下所示:
stu = {
'name': 'jyd',
'id': 1,
'age': 18,
'addr': '北京',
'hight': 156
}
字典中的键必须是唯一的,但值则不必。值可以取任何数据类型,但键必须是不可变的,如字符串,数字。
获取字典中的值
stu = {
'name': 'jyd',
'id': 1,
'age': 18,
'addr': '北京',
'hight': 156
} # key - value Key不能重复
print(stu.get('age'))
print(stu.get('age1')) # key不存在返回None
print(stu.get('sex', '女')) # key不存在,可以指定返回值
输出结果:
18
None
女
还可以用stu['age']获取字典中的值,区别在于使用这种方式,如果key不存在会报错KeyError
修改字典
stu['age'] = 28 # 指定key,修改value
输出结果:
修改前字典值 {'age': 18, 'hight': 156, 'name': 'jyd', 'addr': '北京', 'id': 1}
修改前字典值 {'age': 28, 'hight': 156, 'name': 'jyd', 'addr': '北京', 'id': 1}
新增字典中的值
stu['phone'] = 182 # 新增key,赋新值
stu.setdefault('email', '123@qq.com') # 如果key存在,不会改变值
输出结果:
新增前字典值 {'age': 18, 'hight': 156, 'id': 1, 'name': 'jyd', 'addr': '北京'}
新增后字典值 {'name': 'jyd', 'phone': 182, 'age': 18, 'hight': 156, 'id': 1, 'email': '123@qq.com', 'addr': '北京'}
删除字典中的值
print('删除前字典值', stu)
stu.pop('age') # 删除键'age'
print('pop删除age后字典值', stu)
del stu['addr'] # 删除键'addr'
print('del删除addr后字典值', stu)
stu.popitem() # 随机删除一个元素
print('popitem删除后字典值', stu)
输出结果:
删除前字典值 {'addr': '北京', 'name': 'jyd', 'hight': 156, 'age': 18, 'id': 1}
pop删除age后字典值 {'addr': '北京', 'name': 'jyd', 'hight': 156, 'id': 1}
del删除addr后字典值 {'name': 'jyd', 'hight': 156, 'id': 1}
popitem删除后字典值 {'hight': 156, 'id': 1}
其他常用方法:
stu.claer() # 清空字典
print(stu.values()) # 打印字典里面的所value
print(stu.keys()) # 打印字典里面的所有key
print(stu.items()) # 将字典转换成列表(二维)
stu2 = {'money': 100}
stu.update(stu2) # 把第一个字典里面的值,放到另外一个字典里去