第4单元 组合数据类型《程序设计基础-Python》(高等教育出版社)章节过关卷

2026-04-02
| 2份
| 14页
| 128人阅读
| 2人下载

内容正文:

《程序设计基础-Python》高等教育出版社 第4单元 组合数据类型 考试时间:90分钟 满分:100分 姓名 班级 学号 1、 单项选择题(本题共25小题,每题2分,共50分) 1. 在Python中,用于创建元组的符号是( ) A. [] B. {} C. () D. <> 2. 下列代码的输出结果是( ) t1 = (1, 2, 3) print(t1[1]) A. 1 B. 2 C. 3 D. t1 3. 关于Python中的列表,下列说法正确的是( ) A. 列表创建后不可修改 B. 列表使用圆括号包裹 C. 列表是可变序列 D. 列表元素必须是相同类型 4. 执行代码 `print(len([1, 2, [3, 4], 5]))` 的输出结果是( ) A. 4 B. 5 C. 6 D. 7 5. 下列方法中,用于在列表末尾添加元素的是( ) A. insert() B. append() C. extend() D. add() 6. 下列代码的输出结果是( ) s1 = {1, 2, 3, 2, 1} print(len(s1)) A. 5 B. 6 C. 2 D. 3 7. 想要创建空集合,应使用的方法是( ) A. {} B. set() C. [] D. () 8. 下列代码的输出结果是( ) d1 = {"name": "小明", "age": 18} print(d1.get("name")) A. name B. 小明 C. 18 D. age 9. 下列集合运算中,表示交集的是( ) A. | B. - C. & D. * 10. 在字典中,下列说法正确的是( ) A. 键可以重复 B. 键必须是可变类型 C. 值必须唯一 D. 键必须是不可变类型 11. 下列代码的输出结果是( ) list1 = [1, 2, 3] list1.append([4, 5]) print(len(list1)) A. 3 B. list1 C. 5 D. 4 12. 执行代码 `print((1, 2) + (3, 4))` 的输出结果是( ) A. (1, 2, 3, 4) B. (4, 6) C. [1, 2, 3, 4] D. 10 13. 下列代码中,能正确删除列表中第一个值为"4"的元素的是( ) A. list1.pop("4") B. list1.remove("4") C. list1.delete("4") D. list1.pop(4) 14. 关于集合,下列说法正确的是( ) A. 集合元素有序 B. 集合可以有重复元素 C. 集合可以通过索引访问 D. 集合元素无序且唯一 15. 下列代码的输出结果是( ) d1 = {"a": 1, "b": 2} d1["c"] = 3 print(len(d1)) A. 2 B. 3 C. 4 D. 5 16. 下列列表中,排序后结果为降序的是( ) A. list1.sort() B. sorted(list1) C. list1.sort(reverse=True) D. list1.reverse() 17. 执行代码 `print(list(range(3)))` 的输出结果是( ) A. [0,1,2] B. [1,2,3] C. [0,1,2,3] D. [1,2] 18. 下列代码的输出结果是( ) t1 = (1, 2, 3, 4, 5) print(t1[1:4]) A. (1, 2, 3) B. (2, 3, 4) C. (2, 3, 4, 5) D. 报错 19. 在Python中,用于获取字典所有键的方法是( ) A. values() B. items() C. get() D. keys() 20. 下列代码的输出结果是( ) set1 = {1, 2, 3} set2 = {3, 4, 5} print(set1 | set2) A. {3} B. {1, 2, 4, 5} C. {1, 2, 3, 4, 5} D. {1, 2, 3} 21. 下列嵌套列表中,获取元素5的正确方式是( ) list1 = [1, 2, [3, 4, [5, 6]], 7] A. list1[2][2] B. list1[2][2][0] C. list1[3][2] D. list1[2][3] 22. 下列代码的输出结果是( ) d1 = {"a": 1, "b": 2} print(d1.get("c", 0)) A. None B. 0 C. c D. False 23. 关于列表推导式,下列代码正确的是( ) A. [x for x in range(5)] B. [x in range(5)] C. [for x in range(5)] D. [x range(5)] 24. 下列代码的输出结果是( ) list1 = [1, 2, 3] list2 = list1 list1.append(4) print(list2) A. [4] B. [1, 2, 3] C. [1, 2, 3, 4] D. 1, 2,3, 4 25. 执行代码 `print({1, 2, 3} - {2, 3, 4})` 的输出结果是( ) A. {1} B. {4} C. {1, 4} D. {} 二、判断题(共10题,每题1分,共10分) 1. Python中元组创建后不可以修改元素。( ) 2. 在Python中,{}可以创建空集合。( ) 3. 列表的索引可以从负数开始。( ) 4. 字典的键可以是列表类型。( ) 5. 集合中的元素可以重复。( ) 6. list.sort()方法会返回排序后的新列表。( ) 7. 字典中同一个键可以出现多次。( ) 8. 元组可以使用append()方法添加元素。( ) 9. 列表推导式可以包含if条件表达式。( ) 10. 在Python中,0、空字符串、None转换为布尔值时为False。( ) 3、 名词解释题(共4题,每题3分,共12分) 1. 元组 2. 列表 3. 集合 4. 字典 四、简答题(共4题,每题4分,共16分) 1. 请简述列表和元组的主要区别。 2. 请说明集合的交、并、差集运算及对应运算符。 3. 请列举字典的常用操作方法及其功能。(至少写4种) 4. 请说明list.sort()和sorted()的区别。 五、编程题(本题共1小题,每题12分,共12分) 编写程序,实现学生信息管理功能: 1. 创建一个字典存储3个学生的信息(学信信息至少要包括:学号、姓名、成绩)(3分) 2. 使用列表存储这3个学生字典,遍历列表输出所有学生信息(4分) 3.输入一个学生姓名,查找并输出该学生的学号和成绩;若不存在,输出“未找到该学生”(5分) 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 学科网(北京)股份有限公司 $ 《程序设计基础-Python》高等教育出版社 第4单元 组合数据类型 考试时间:90分钟 满分:100分 姓名 班级 学号 1、 单项选择题(本题共25小题,每题2分,共50分) 1. 在Python中,用于创建元组的符号是( ) A. [] B. {} C. () D. <> 【答案】:C 【解析】: 元组使用圆括号()创建,列表使用方括号[],字典和集合使用花括号{}。 2. 下列代码的输出结果是( ) t1 = (1, 2, 3) print(t1[1]) A. 1 B. 2 C. 3 D. t1 【答案】:B 【解析】: 元组索引从0开始,t1[1]获取第二个元素2。 3. 关于Python中的列表,下列说法正确的是( ) A. 列表创建后不可修改 B. 列表使用圆括号包裹 C. 列表是可变序列 D. 列表元素必须是相同类型 【答案】:C 【解析】: 列表是可变序列,可以添加、修改、删除元素,使用方括号[]包裹,元素可以是任意类型。 4. 执行代码 `print(len([1, 2, [3, 4], 5]))` 的输出结果是( ) A. 4 B. 5 C. 6 D. 7 【答案】:A 【解析】: 列表中有4个元素,[3,4]作为一个整体元素计算。 5. 下列方法中,用于在列表末尾添加元素的是( ) A. insert() B. append() C. extend() D. add() 【答案】:B 【解析】: append()在列表末尾添加单个元素,insert()在指定位置添加,extend()添加多个元素。 6. 下列代码的输出结果是( ) s1 = {1, 2, 3, 2, 1} print(len(s1)) A. 5 B. 6 C. 2 D. 3 【答案】:D 【解析】: 集合具有互异性,重复元素只保留一个,所以{1,2,3,2,1}实际为{1,2,3}。 7. 想要创建空集合,应使用的方法是( ) A. {} B. set() C. [] D. () 【答案】:B 【解析】: {}创建的是空字典,set()创建空集合。 8. 下列代码的输出结果是( ) d1 = {"name": "小明", "age": 18} print(d1.get("name")) A. name B. 小明 C. 18 D. age 【答案】:B 【解析】: get()方法根据键获取对应的值,d1["name"]的值为"小明"。 9. 下列集合运算中,表示交集的是( ) A. | B. - C. & D. * 【答案】:C 【解析】: &表示交集,|表示并集,-表示差集。 10. 在字典中,下列说法正确的是( ) A. 键可以重复 B. 键必须是可变类型 C. 值必须唯一 D. 键必须是不可变类型 【答案】:D 【解析】: 字典的键必须唯一且为不可变类型,值可以重复且可以是任意类型。 11. 下列代码的输出结果是( ) list1 = [1, 2, 3] list1.append([4, 5]) print(len(list1)) A. 3 B. list1 C. 5 D. 4 【答案】:D 【解析】: append()添加一个元素,[4,5]作为一个整体元素,列表变为[1,2,3,[4,5]],长度为4。 12. 执行代码 `print((1, 2) + (3, 4))` 的输出结果是( ) A. (1, 2, 3, 4) B. (4, 6) C. [1, 2, 3, 4] D. 10 【答案】:A 【解析】: 元组使用+进行连接运算,结果为(1, 2, 3, 4)。 13. 下列代码中,能正确删除列表中第一个值为"4"的元素的是( ) A. list1.pop("4") B. list1.remove("4") C. list1.delete("4") D. list1.pop(4) 【答案】:B 【解析】: remove()根据元素值删除,pop()根据索引删除。 14. 关于集合,下列说法正确的是( ) A. 集合元素有序 B. 集合可以有重复元素 C. 集合可以通过索引访问 D. 集合元素无序且唯一 【答案】:D 【解析】: 集合具有无序性、确定性和互异性,不能通过索引访问。 15. 下列代码的输出结果是( ) d1 = {"a": 1, "b": 2} d1["c"] = 3 print(len(d1)) A. 2 B. 3 C. 4 D. 5 【答案】:B 【解析】: 字典添加了一个键值对,现在有3个键值对。 16. 下列列表中,排序后结果为降序的是( ) A. list1.sort() B. sorted(list1) C. list1.sort(reverse=True) D. list1.reverse() 【答案】:C 【解析】: sort(reverse=True)实现降序排序,reverse=True表示降序。 17. 执行代码 `print(list(range(3)))` 的输出结果是( ) A. [0,1,2] B. [1,2,3] C. [0,1,2,3] D. [1,2] 【答案】:A 【解析】: range(3)生成0、1、2,转换为列表为[0,1,2]。 18. 下列代码的输出结果是( ) t1 = (1, 2, 3, 4, 5) print(t1[1:4]) A. (1, 2, 3) B. (2, 3, 4) C. (2, 3, 4, 5) D. 报错 【答案】:B 【解析】: 切片[1:4]获取索引1到3的元素,不包含索引4,结果为(2, 3, 4)。 19. 在Python中,用于获取字典所有键的方法是( ) A. values() B. items() C. get() D. keys() 【答案】:D 【解析】:keys()获取所有键,values()获取所有值,items()获取所有键值对。 20. 下列代码的输出结果是( ) set1 = {1, 2, 3} set2 = {3, 4, 5} print(set1 | set2) A. {3} B. {1, 2, 4, 5} C. {1, 2, 3, 4, 5} D. {1, 2, 3} 【答案】:C 【解析】: |表示并集运算,合并两个集合的所有元素。 21. 下列嵌套列表中,获取元素5的正确方式是( ) list1 = [1, 2, [3, 4, [5, 6]], 7] A. list1[2][2] B. list1[2][2][0] C. list1[3][2] D. list1[2][3] 【答案】:B 【解析】: list1[2]是[3,4,[5,6]],list1[2][2]是[5,6],list1[2][2][0]是5。 22. 下列代码的输出结果是( ) d1 = {"a": 1, "b": 2} print(d1.get("c", 0)) A. None B. 0 C. c D. False 【答案】:B 【解析】: get()方法第二个参数是默认值,键"c"不存在时返回默认值0。 23. 关于列表推导式,下列代码正确的是( ) A. [x for x in range(5)] B. [x in range(5)] C. [for x in range(5)] D. [x range(5)] 【答案】:A 【解析】: 列表推导式语法为[表达式 for 变量 in 序列]。 24. 下列代码的输出结果是( ) list1 = [1, 2, 3] list2 = list1 list1.append(4) print(list2) A. [4] B. [1, 2, 3] C. [1, 2, 3, 4] D. 1, 2,3, 4 【答案】:C 【解析】: list2 = list1是引用赋值,两个变量指向同一列表,修改list1会影响list2。 25. 执行代码 `print({1, 2, 3} - {2, 3, 4})` 的输出结果是( ) A. {1} B. {4} C. {1, 4} D. {} 【答案】:A 【解析】: -表示差集,{1,2,3}-{2,3,4}结果为{1},即在前者中但不在后者中的元素。 二、判断题(共10题,每题1分,共10分) 1. Python中元组创建后不可以修改元素。( ) 【答案】:正确 【解析】: 元组是不可变序列,创建后不能添加、修改、删除元素。 2. 在Python中,{}可以创建空集合。( ) 【答案】:错误 【解析】: {}创建的是空字典,创建空集合应使用set()。 3. 列表的索引可以从负数开始。( ) 【答案】:正确 【解析】: 列表支持负索引,-1表示最后一个元素。 4. 字典的键可以是列表类型。( ) 【答案】:错误 【解析】: 字典的键必须是不可变类型,列表是可变类型不能作为键。 5. 集合中的元素可以重复。( ) 【答案】:错误 【解析】: 集合具有互异性,元素不能重复。 6. list.sort()方法会返回排序后的新列表。( ) 【答案】:错误 【解析】: sort()原地排序,没有返回值;sorted()返回新列表。 7. 字典中同一个键可以出现多次。( ) 【答案】:错误 【解析】: 字典的键必须唯一,后出现的键值对会替换前面的。 8. 元组可以使用append()方法添加元素。( ) 【答案】:错误 【解析】: 元组是不可变序列,没有append()方法。 9. 列表推导式可以包含if条件表达式。( ) 【答案】:正确 【解析】: 列表推导式语法为[表达式 for 变量 in 序列 if 条件]。 10. 在Python中,0、空字符串、None转换为布尔值时为False。( ) 【答案】:正确 【解析】: 这些值在布尔上下文中被视为False。 3、 名词解释题(共4题,每题3分,共12分) 1. 元组 【答案】: 元组是Python中的一种序列类型,使用圆括号()包裹元素,元素之间用逗号分隔。元组是不可变序列,创建后不能添加、修改、删除元素。元组支持索引、切片访问,可以用于存储不需要修改的数据集合。 2. 列表 【答案】: 列表是Python中最常用的序列类型,使用方括号[]包裹元素,元素之间用逗号分隔。列表是可变序列,可以进行添加、修改、删除等操作。列表支持索引、切片访问,元素可以是任意类型,常用于存储需要动态修改的数据集合。 3. 集合 【答案】: 集合是Python中用于存储不重复元素的数据类型,使用花括号{}包裹元素或用set()创建。集合具有三个特征:无序性、确定性、互异性。集合支持交集、并集、差集等数学集合运算。 4. 字典 【答案】: 字典是Python中存储键值对映射关系的数据类型,使用花括号{}包裹,键值之间用冒号分隔。字典的键必须唯一且为不可变类型,值可以是任意类型。字典通过键来访问对应的值,支持添加、修改、删除键值对操作,常用于存储具有关联关系的数据。 四、简答题(共4题,每题4分,共16分) 1. 请简述列表和元组的主要区别。 【答案】: (1)可变性:列表是可变序列,可以添加、修改、删除元素;元组是不可变序列,创建后不能修改 (2)创建符号:列表使用方括号[],元组使用圆括号() (3)方法支持:列表有append()、remove()、pop()等修改方法;元组没有这些方法 (4)使用场景:列表用于需要动态修改的数据;元组用于不需要修改的数据,如配置信息 2. 请说明集合的交、并、差集运算及对应运算符。 【答案】: (1)交集&:两个集合都包含的元素 (2)并集|:两个集合合并的所有元素 (3)差集-:在第一个集合但不在第二个集合的元素 3. 请列举字典的常用操作方法及其功能。(至少写4种) 【答案】: (1)keys():获取字典所有键 (2)values():获取字典所有值 (3)items():获取字典所有键值对 (4)get(key, default):根据键获取值,可设置默认值 (5)字典名[key]=value:添加或修改键值对 (6)del 字典名[key]:删除指定键值对 4. 请说明list.sort()和sorted()的区别。 【答案】: (1)sort()是列表的方法,原地排序,直接修改原列表,没有返回值 (2)sorted()是内置函数,返回排序后的新列表,不修改原列表 (3)sort()只能用于列表,sorted()可用于任何可迭代对象 (4)两者都支持reverse参数实现降序排序 五、编程题(本题共1小题,每题12分,共12分) 编写程序,实现学生信息管理功能: 1. 创建一个字典存储3个学生的信息(学信信息至少要包括:学号、姓名、成绩)(3分) 2. 使用列表存储这3个学生字典,遍历列表输出所有学生信息(4分) 3.输入一个学生姓名,查找并输出该学生的学号和成绩;若不存在,输出“未找到该学生”(5分) 【答案】: 第1问:创建学生信息字典并存储到列表 students = [ {"学号": "2026001", "姓名": "小明", "成绩": 85}, {"学号": "2026002", "姓名": "小红", "成绩": 92}, {"学号": "2026003", "姓名": "小刚", "成绩": 78} ] 第2问:遍历列表输出所有学生信息 print("所有学生信息:") for student in students: print(f"学号:{student['学号']}, 姓名:{student['姓名']}, 成绩:{student['成绩']}") 第3问:根据姓名查询学生信息 name = input("请输入要查询的学生姓名:") found = False for stu in students: if stu["姓名"] == name: print(f"学号:{stu['学号']},成绩:{stu['成绩']}") found = True break if not found: print("未找到该学生") 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 学科网(北京)股份有限公司 $

资源预览图

第4单元 组合数据类型《程序设计基础-Python》(高等教育出版社)章节过关卷
1
第4单元 组合数据类型《程序设计基础-Python》(高等教育出版社)章节过关卷
2
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。