- Python
Python 字典知识课后作业含答案
- 2025-6-18 21:17:37 @
Python 字典知识课后作业
一、选择题(每题 5 分,共 20 分 )
-
以下创建空字典的方式正确的是( ) A.
dict = ()
B.dict = {}
C.dict = []
D.dict =
答案:B。{}
是创建空字典的正确语法,()
用于创建元组,[]
用于创建列表,D选项语法不完整,无法创建字典。 -
字典的键必须是( )类型(可多选) A. 字符串
B. 数字
C. 列表
D. 元组
答案:ABD。字典的键必须是不可变类型,字符串、数字、元组是不可变的,而列表是可变类型,不能作为字典的键。 -
要获取字典
info = {"name":"小红", "age":10}
中“age”对应的值,以下错误的操作是( ) A.info["age"]
B.info.get("age")
C.info.keys("age")
D.info.values()[1]
(假设按插入顺序,“age”对应的值是第二个值 )
答案:C。keys()
方法是获取字典所有的键,不能传“age”参数;A选项用[]
根据键取值,B选项用get
方法取值,D选项通过values()
获取值的序列后取对应位置元素(在知道顺序的简单场景可临时用,但不如前两种规范 )。 -
关于字典
update
方法,说法正确的是( ) A. 只能更新已有的键值对,不能新增
B. 可以把另一个字典的键值对合并过来,键存在则更新值,不存在则新增
C. 会返回合并后的新字典
D. 合并后原字典不会改变
答案:B。update
方法能将另一个字典的键值对合并到当前字典,存在的键更新值,不存在的键新增;A选项说不能新增错误;C选项update
没有返回值(返回None
);D选项原字典会被修改。
二、判断题(每题 5 分,共 20 分 )
-
字典中的键可以重复,对应的值会覆盖。( )
答案:×。字典的键必须唯一,重复定义键时,后定义的键值对会覆盖前面的。 -
使用
dict.fromkeys([1,2,3])
创建的字典,值默认是None
。( )
答案:√。dict.fromkeys
方法用序列创建字典,不指定值时,值默认就是None
。 -
删除字典中的键值对只能用
del
语句,不能用其他方法。( )
答案:×。除了del
语句,还能用pop
方法删除键值对,pop
方法会返回被删除的值。 -
字典是有序的集合,存储顺序和添加顺序一致。( )
答案:×(在Python 3.7及以后版本,字典会记住插入顺序,但严格来说它本质是无序的,不过实际使用中表现出有序特性 。但从基础概念讲,最初字典设计是无序的,这里按基础知识点判断为× )。Python 3.7+ 版本字典有保留插入顺序的特性,但在更早知识体系里字典是无序集合,中小学阶段按基础概念,认为字典是无序的,所以该说法错误。
三、编程题(每题 30 分,共 60 分 )
(一)字典基本操作 - 学生信息管理
需求:
- 创建一个字典
student
,存储学生信息,包含“姓名”(值为自己拟定,比如“小李” )、“年龄”(值为12 )、“班级”(值为“六年级一班” )。 - 使用
keys()
遍历并打印所有键,用values()
遍历并打印所有值,用items()
遍历并打印键值对(格式如“姓名:小李” )。 - 新增“学号”信息(值自己拟定,比如“2025001” ),修改“年龄”为13,然后删除“班级”信息,最后打印修改后的字典。
示例代码:
# 1. 创建字典
student = {
"姓名": "小李",
"年龄": 12,
"班级": "六年级一班"
}
# 2. 遍历操作
print("字典的键:")
for key in student.keys():
print(key)
print("字典的值:")
for value in student.values():
print(value)
print("字典的键值对:")
for key, value in student.items():
print(f"{key}:{value}")
# 3. 增删改操作
student["学号"] = "2025001" # 新增
student["年龄"] = 13 # 修改
del student["班级"] # 删除
print("修改后的字典:", student)
(二)字典应用 - 统计水果数量
需求:
小明去水果店买水果,买的水果及数量如下:苹果3个、香蕉5个、橘子2个。请用字典完成以下操作:
- 创建字典
fruits
存储上述水果和数量信息。 - 新增“葡萄”,数量为4个;修改“香蕉”数量为6个。
- 用
pop
方法删除“橘子”并打印被删除的数量,最后遍历字典,按“水果:数量”的格式打印所有水果和数量。
示例代码:
# 1. 创建字典
fruits = {
"苹果": 3,
"香蕉": 5,
"橘子": 2
}
# 2. 增改操作
fruits["葡萄"] = 4 # 新增
fruits["香蕉"] = 6 # 修改
# 3. 删除及遍历操作
deleted_num = fruits.pop("橘子")
print("被删除的橘子数量:", deleted_num)
print("水果及数量:")
for fruit, num in fruits.items():
print(f"{fruit}:{num}")
这些题目围绕 Python 字典的创建、增删改查、遍历等基础操作设计,符合中小学阶段对字典知识的学习和实践需求,做完就能更熟练掌握字典用法啦 。