字典
认识字典
- 是
容器型数据类型:- 是
可变序列(支持增删改操作)- 字典是
无序的,顺序不影响结果- 用
{}作为容器的标志,多个键值对用逗号隔开:(key1:value1,key2:value2,....,keys:values)- 空字典:
dict1 = {}或者dict1 = dict()- 字典中的元素只能是
键值对- 键的要求:键的类型必须是
不可变的类型的数据(元组、字符串);键必须是唯一的- 值的要求:任何数据都可以为值
字典的基本操作
- 查:获取字典的值
- 查单个:一次获取一个值
字典[keys]:获取字典中指定键对应的值,键不存在是报错(KeyError)字典.get(keys):获取字典中指定键对应的值,键不存在不会报错会返回None字典.get(keys, 默认值):获取字典中指定键对应的值,键不存在不会报错会返回默认值 - 遍历:
for 键 in 字典::遍历的是键
stu = {'name': '小明', 'gender': '男', 'age': 18, 'score': 100, 'education': '专科',}
for x in stu:
print(x,stu[x])for keys,values in 字典.items():遍历出键和值。字典.items(): 将字典的每一组键值对都转换成一个元组
- 增/改
字典[键] = 值:存在键是修改键对应的值,不存在时添加键值对字典.setdefault(键,值)添加键值对(如果键不存在添加,如果键不存在不动)
- 删— 删除键值对
del 字典[键]---- 删除指定键对应的键值对字典.pop(键)---- 取出指定的键对应的值
字典的相关操作和相关函数方法
- 相关操作:
- 运算符:字典不支持:
+、-、*、>、<、>=、<=,只支持==,!= -
in 和 not in: 判断的是字典中指定的键是否存在
- 相关函数:
-
len(): 获取字典中键值对的个数(字典的长度) dict():将指定数据转换成字典
- 数据本身是一个序列
- 序列中的元素必须都是有且只有两个元素的
小序列,并且其中第一个元素是不可变的数据类型
- 相关方法:
-
字典.clear():清空指定的字典 -
字典.copy():将字典复制一份,生成一个新的字典 -
字典.keys():返回一个序列、序列中的元素是字典中所有的键 -
字典.values():返回一个序列、序列中的元素是字典中所有的值 -
字典.items():返回一个序列、序列中的元素是字典中所有的键和值组成的小元组 -
字典.update(序列):将序列中的元素全部添加到字典中(序列必须是可以转换成字典的序列)
字典和列表的选择:
需要同时保存多个数据的时候,如果多个数据的意义相同(不需要区分)就是用列表,如果多个数据的意义不同,就是用字典
字典推导式:
{表达式1:表达式2 for 变量 in 序列}{表达式1:表达式2 for 变量 in 序列} if 条件语句
















