1、认识字典
1. 字典的作用
需求:定义一个变量保存一个学生的信息
stu = ['小明', 32, '电子信息', 170, 80, 90]
print(stu[1])
stu = {
'name': '小明',
'age': 32,
'专业': '电子信息',
'height': 170,
'weight': 80,
'score': 90
}
print(stu['age'])
2. 字典和列表的选择
如果要保存多个意义不同的数据,就使用字典;要保存多个意义相同的数据就用列表
3.什么是字典(dict)
字典是系统类型,属于容器型数据类型(序列);
将{}作为容器的标志,里面多个键值对(元素)用逗号隔开: {键1:值1, 键2:值2, 键3:值3, …}
字典是可变(支持增删改);字典是无序(不支持下标操作;顺序不影响结果)
键 - 键必须是不可变类型的数据(数字、字符串、布尔、空值、元组); 键唯一(同一个字典中同一个键只能出现一次)
值 - 没有要求(任何类型的数据)
# 字典无序
print({
'a': 10, 'b': 20} == {
'b': 20, 'a': 10}) # True
# 键不可变
dict1 = {
10: 20, 'a': 30, (10, 20): 40}
# dict2 = {10: 20, 'a': 30, [10, 20]: 40} # 报错
# 键唯一
dict3 = {
'a': 10, 'b': 20, 'a': 30}
print(dict3) # {'a': 30, 'b': 20}
# 空字典
dict4 = {
}
二、字典的查找操作
字典存储数据真正想要保存的是值,键只是用来对值进行区分和说明的(相当于列表中元素的下标)
1. 查询单个值
1)字典[键] ------- 获取字典中指定键对应的值,如果键不存在程序会报错
2)字典.get(键) ------- 获取字典中指定键对应的值,如果键不存在不会报错并且会返回None
3)字典.get(键, 默认值) ------- 获取字典中指定键对应的值,如果键不存在不会报错并且会返回默认值
dog = {
'name': '旺财', 'age': 3, 'type': '土狗', 'price': 30000, 'color': '黄色'}
print(dog['type'])
print(dog['name'])
# print(dog['weight']) # KeyError: 'weight'
print(dog.get('price'))
print(dog.get('color'))
print(dog.get('weight')) # None
print(dog.get('age', 0))
print(dog.get('color', '白色'))
print(dog.get('weight', 5)) # 5
2.生活中列表和字典
需求:结合实际定义一个变量保存一个班级的信息
班级信息:班级名、教室、讲师、班主任、学生
class1 = {
'className': 'Python2205',
'classRoom': '11教',
'lecturer': {
'name': '余婷', 'age': 18, 'tel': '1886782', 'gender': '女'},
'classTeacher': {
'name': '燕子姐', 'age': 18