专题八 程序中常用的数据结构《Python程序设计》45分钟专题训练(浙江版)

| 2份
| 18页
| 110人阅读
| 0人下载

内容正文:

浙江省单独招生考试《Python程序设计》45分钟专题训练专辑,共8份试卷。试卷命题与高考紧密相关,精选具有代表性和典型性的高考常考题。旨在帮助学生系统地复习和巩固计算机类理论知识,熟悉高考题型和命题规律,提高解题能力和应试技巧,为高考取得优异成绩打下坚实的基础,本训练卷适用于即将参加计算机类高考的学生。与本专辑配套的还有浙江省单独招生考试《数据库》《计算机网络及网页设计》《计算机组装与维护》《数字媒体技术》《计算机基础》45分钟专题训练专辑,欢迎同学和老师们下载使用。 《Python程序设计》 专题八:程序中常用的数据结构 时间:45分钟 总分:100分 班级___________ 姓名__________ 学号__________ 成绩________ 一、单项选择题(本大题共20小题,每题2.5分,共50分) 1.Python中,以下( )数据结构是有序且不可变的 A.列表 B.元组 C.集合 D.字典 【答案】B 【解析】元组是有序且不可变的序列,元素定义后无法修改;列表有序可变,集合无序可变,字典无序可变。 2.下列关于列表的说法,错误的是( ) A.列表用[]定义 B.列表支持remove()方法删除指定元素 C.列表元素不可重复 D.列表支持append()方法添加元素 【答案】C 【解析】列表元素可以重复,支持添加、删除、修改操作;集合的核心特点是元素不可重复。 3.Python中,字典的核心特点是( ) A.有序存储,键值对映射 B.无序存储,键值对映射 C.有序存储,元素可重复 D.无序存储,元素不可重复 【答案】B 【解析】字典以“键值对”形式存储数据,无序且键唯一;有序性是Python3.7+的特性,非核心定义,核心特点是键值对映射。 4.下列代码运行后,输出结果是( ) lst = [1, 2, 3, 4] print(lst[-2]) A.2 B.3 C.4 D.报错 【答案】B 【解析】Python支持负索引,lst[-1]为最后一个元素,lst[-2]为倒数第二个元素,即3。 5.要向集合s={1, 2, 3}中添加元素4,正确的方法是( ) A.s.append (4) B.s.add (4) C.s.insert (4, 4) D.s.extend (4) 【答案】B 【解析】集合的add()方法用于添加单个元素;append()是列表的方法,insert()和extend()均不适用集合。 6.下列数据结构中,支持通过“键名”访问元素的是( ) A.列表 B.元组 C.字典 D.字符串 【答案】C 【解析】字典通过“键名”(如d["name"])访问对应“值”;列表、元组、字符串通过索引访问。 7.下列代码运行后,输出结果是( ) d = {"a": 1, "b": 2, "c": 3} print(len(d)) A.2 B.3 C.4 D.报错 【答案】B 【解析】len()函数返回字典中键值对的个数,该字典包含3个键值对,故输出3。 8.Python中,元组的count()方法的作用是( ) A.统计元素在元组中出现的次数 B.返回元组的长度 C.查找元素的索引 D.删除指定元素 【答案】A 【解析】count(x)用于统计元素x在元组中出现的次数;len()返回长度,index()查找索引,元组无删除方法。 9.下列代码运行后,输出结果是( ) s1 = {1, 2, 3} s2 = {3, 4, 5} print(s1 | s2) A.{3} B.{1,2,3,4,5} C.{1,2,4,5} D.报错 【答案】B 【解析】|是集合的并集运算符,返回两个集合的所有不重复元素,即合并后的集合。 10.要将字典d = {"name": "小明", "age": 15}中的"age"键删除,正确的代码是( ) A.del d ["age"] B.d.remove ("age") C.d.pop ("age") D.A和C都正确 【答案】D 【解析】del d["key"]和d.pop("key")均可删除字典中的指定键值对,remove()不是字典的方法。 11.Python中,列表的sort()方法与sorted()函数的区别是( ) A.sort()返回新列表,sorted()修改原列表 B.sort()修改原列表,sorted()返回新列表 C.两者功能完全相同 D.都不支持逆序排序 【答案】B 【解析】sort()是列表的内置方法,原地排序(修改原列表);sorted()是内置函数,返回新的排序列表,不修改原数据。 12.下列代码运行后,输出结果是( ) t = (1, 2, 3, 4) print(t[1:3]) A.(2, 3) B.(1, 2, 3) C.(2, 3, 4) D.报错 【答案】A 【解析】元组切片[start:end]包含start索引,不包含end索引,t[1:3]截取索引1和2对应的元素2、3。 13.Python中,集合的difference()方法的作用是( ) A.求两个集合的交集 B.求两个集合的并集 C.求两个集合的差集 D.求两个集合的对称差集 【答案】C 【解析】difference()方法返回第一个集合中有、第二个集合中没有的元素(差集);交集用intersection(),并集用union()。 14.下列数据结构中,不支持in操作判断元素是否存在的是( ) A.列表 B.元组 C.字典 D.以上都支持 【答案】D 【解析】列表、元组、字典均支持in操作,列表和元组判断元素是否存在,字典判断键是否存在。 15.下列代码运行后,输出结果是( ) lst = [1, 2, 3, 4] lst.insert(1, 5) print(lst) A.[1, 5, 2, 3, 4] B.[5, 1, 2, 3, 4] C.[1, 2, 5, 3, 4] D.报错 【答案】A 【解析】insert(index,x)方法在指定索引index处插入元素x,lst.insert(1,5)在索引1处插入5,原列表索引1及后续元素后移。 16.Python中,字典的values()方法返回的是( ) A.所有键的列表 B.所有值的视图对象 C.所有键值对的元组 D.所有键的视图对象 【答案】B 【解析】values()方法返回字典中所有值的视图对象,可通过list()转换为列表;keys()返回键的视图对象,items()返回键值对的视图对象。 17.下列代码运行后,输出结果是( ) s = "Python" print(s[2:5]) A."tho" B."yth" C."hon" D.报错 【答案】A 【解析】字符串切片[2:5]截取索引2、3、4对应的字符,“Python”中索引2为“t”、3为“h”、4为“o”,故输出“tho”。 18.Python中,元组与列表的本质区别是( ) A.元组元素不可变,列表元素可变 B.元组元素可重复,列表元素不可重复 C.元组无序,列表有序 D.元组支持修改,列表不支持修改 【答案】A 【解析】元组和列表均有序、元素可重复,核心区别是元组不可变(无法修改元素),列表可变。 19.下列代码运行后,输出结果是( ) d = {"a": 1, "b": 2} d["c"] = 3 print(d) A.{"a": 1, "b": 2} B.{"a": 1, "b": 2, "c": 3} C.{"c": 3} D.报错 【答案】B 【解析】字典通过“键名=值”的方式添加新键值对,执行d["c"]=3后,字典新增键值对"c":3。 20.Python中,以下( )数据结构最适合用于去重操作 A.列表 B.元组 C.集合 D.字典 【答案】C 【解析】集合的核心特性是元素不可重复,无需额外编写去重逻辑,直接将列表等可迭代对象转换为集合即可去重,效率最高。 2、 多项选择题(本大题共10小题,每小题3分,共30分) 1.下列数据结构中,属于有序结构的有( ) A.列表 B.元组 C.集合 D.字符串 【答案】ABD 【解析】列表、元组、字符串均为有序结构,元素的存储顺序与添加顺序一致;集合是无序结构,元素无固定排列顺序。 2.下列关于字典(dict)的说法,正确的有( ) A.字典的键必须是不可变类型 B.字典的值可以是任意数据类型 C.字典支持通过索引访问元素 D.字典的键具有唯一性 【答案】ABD 【解析】字典的键需为不可变类型(字符串、整数、元组等),值可任意;键具有唯一性,重复赋值会覆盖原有值;字典通过键名访问,不支持索引访问,C选项错误。 3.下列方法中,属于列表内置方法的有( ) A.append () B.remove () C.sort () D.add () 【答案】ABC 【解析】append(添加元素)、remove(删除指定元素)、sort(排序)均为列表内置方法;add () 是集合的方法,用于添加元素,D选项错误。 4.下列数据结构中,支持in操作判断元素是否存在的有( ) A.列表 B.元组 C.集合 D.字典 【答案】ABCD 【解析】列表、元组、集合可通过in判断元素是否存在;字典的in操作判断键是否存在,均支持该操作。 5.下列关于集合的说法,正确的有( ) A.集合元素不可重复 B.集合支持union()方法求并集 C.集合是有序结构 D.集合支持intersection()方法求交集 【答案】ABD 【解析】集合的核心特性是元素不可重复,支持union()(并集)、intersection()(交集)等方法;集合是无序结构,C选项错误。 6.关于Python列表的特性,说法正确的有( ) A.支持增删改查操作 B.元素类型可以不同 C.长度固定不可变 D.可通过索引访问元素 【答案】ABD 【解析】列表是可变有序结构,支持append ()、remove ()等增删操作,元素可包含整数、字符串等多种类型,通过索引(如lst[0])访问;列表长度可动态变化,C选项错误。 7.Python字典的核心特征包括( ) A.以键值对形式存储 B.键必须唯一且不可变 C.支持通过索引访问值 D.元素有序排列 【答案】ABD 【解析】字典的核心是键值对,键需唯一且为不可变类型(如字符串、整数),Python3.7及以上版本中字典保持插入顺序;字典通过键(如dict[key])访问值,而非索引,C选项错误。 8.下列关于元组与列表的区别,说法正确的有( ) A.元组用圆括号定义,列表用方括号定义 B.元组不可变,列表可变 C.元组支持append ()方法 D.列表支持remove ()方法 【答案】ABD 【解析】元组的定义符号为(),列表为[];元组创建后无法修改元素,列表可通过append ()、remove ()等方法修改;元组不支持append ()方法,C选项错误。 9.Python集合的常用功能有( ) A.自动去除重复元素 B.支持交集、并集等集合运算 C.支持通过索引访问元素 D.元素无序排列 【答案】ABD 【解析】集合的核心特性是无序、不重复,支持&(交集)、|(并集)等运算;集合无索引,无法通过索引访问元素,C选项错误。 10.下列关于Python中文件处理与CSV模块的说法,正确的有( ) A.CSV模块的reader ()函数可自动解析CSV文件的分隔符,无需手动处理 B.使用with语句打开文件后,无需手动调用close ()方法关闭文件 C.os.rename ()函数可实现文件重命名,若目标文件已存在会直接覆盖 D.读取CSV文件时,指定encoding='utf-8'可避免中文乱码问题 【答案】ABD 【解析】CSV模块的reader ()函数能自动识别逗号分隔的结构化数据,A正确;with语句会在代码块执行完毕后自动关闭文件,B正确;os.rename ()重命名时若目标文件已存在,多数操作系统下会报错而非直接覆盖,C错误;指定utf-8编码可确保中文数据正确读取,避免乱码,D正确。 三、是非选择题(本大题共10小题,每小题2分,共20分) 1.列表的append()方法可以一次性添加多个元素。( ) 【答案】错 【解析】append()方法仅能添加单个元素,添加多个元素需使用extend()方法(接收可迭代对象)。 2.元组的元素一旦定义就无法修改,因此元组没有任何修改相关的方法。( ) 【答案】错 【解析】元组元素不可修改,但提供count()(统计元素次数)和index()(查找元素索引)等非修改类方法。 3.字典的键可以是列表、字典等可变类型。( ) 【答案】错 【解析】字典的键必须是不可变类型(字符串、整数、元组等),可变类型会导致哈希冲突,无法作为键。 4.集合的remove()方法删除不存在的元素时会报错,而discard()方法不会。( ) 【答案】对 【解析】remove(x)删除不存在的x会引发KeyError,discard(x)删除不存在的x无报错,静默执行。 5.字符串是有序且不可变的,因此无法通过切片修改字符串中的字符。( ) 【答案】对 【解析】字符串不可变,切片操作仅返回新字符串,不会修改原字符串,需通过字符串拼接等方式间接“修改”。 6.列表的sort()方法默认按升序排序,通过reverse=True参数可实现降序排序。( ) 【答案】对 【解析】sort(reverse=True)会将列表按降序原地排序,reverse=False(默认)为升序。 7.字典在Python3.7及以上版本中,会保留键值对的插入顺序。( ) 【答案】对 【解析】Python3.7+中字典实现了有序存储,键值对顺序与插入顺序一致;3.7之前版本无序。 8.元组的定义必须使用()包裹,否则会被识别为其他数据类型。( ) 【答案】错 【解析】单个元素的元组需加逗号(如(1,)),多个元素可省略()(如1,2,3),仍会被识别为元组。 9.集合的union()方法和|运算符功能相同,均用于求两个集合的并集。( ) 【答案】对 【解析】s1.union(s2)与s1|s2效果一致,均返回包含s1和s2所有不重复元素的新集合。 10.字典的items()方法返回的是包含键值对的列表,可直接修改其中的键或值。( ) 【答案】错 【解析】items()返回的是键值对视图对象(非列表),且视图对象中的键值对不可直接修改,修改需通过字典本身(如d["key"]=新值)。 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 $ 浙江省单独招生考试《Python程序设计》45分钟专题训练专辑,共8份试卷。试卷命题与高考紧密相关,精选具有代表性和典型性的高考常考题。旨在帮助学生系统地复习和巩固计算机类理论知识,熟悉高考题型和命题规律,提高解题能力和应试技巧,为高考取得优异成绩打下坚实的基础,本训练卷适用于即将参加计算机类高考的学生。与本专辑配套的还有浙江省单独招生考试《数据库》《计算机网络及网页设计》《计算机组装与维护》《数字媒体技术》《计算机基础》45分钟专题训练专辑,欢迎同学和老师们下载使用。 《Python程序设计》 专题八:程序中常用的数据结构 时间:45分钟 总分:100分 班级___________ 姓名__________ 学号__________ 成绩________ 一、单项选择题(本大题共20小题,每题2.5分,共50分) 1.Python中,以下( )数据结构是有序且不可变的 A.列表 B.元组 C.集合 D.字典 2.下列关于列表的说法,错误的是( ) A.列表用[]定义 B.列表支持remove()方法删除指定元素 C.列表元素不可重复 D.列表支持append()方法添加元素 3.Python中,字典的核心特点是( ) A.有序存储,键值对映射 B.无序存储,键值对映射 C.有序存储,元素可重复 D.无序存储,元素不可重复 4.下列代码运行后,输出结果是( ) lst = [1, 2, 3, 4] print(lst[-2]) A.2 B.3 C.4 D.报错 5.要向集合s={1, 2, 3}中添加元素4,正确的方法是( ) A.s.append (4) B.s.add (4) C.s.insert (4, 4) D.s.extend (4) 6.下列数据结构中,支持通过“键名”访问元素的是( ) A.列表 B.元组 C.字典 D.字符串 7.下列代码运行后,输出结果是( ) d = {"a": 1, "b": 2, "c": 3} print(len(d)) A.2 B.3 C.4 D.报错 8.Python中,元组的count()方法的作用是( ) A.统计元素在元组中出现的次数 B.返回元组的长度 C.查找元素的索引 D.删除指定元素 9.下列代码运行后,输出结果是( ) s1 = {1, 2, 3} s2 = {3, 4, 5} print(s1 | s2) A.{3} B.{1,2,3,4,5} C.{1,2,4,5} D.报错 10.要将字典d = {"name": "小明", "age": 15}中的"age"键删除,正确的代码是( ) A.del d ["age"] B.d.remove ("age") C.d.pop ("age") D.A和C都正确 11.Python中,列表的sort()方法与sorted()函数的区别是( ) A.sort()返回新列表,sorted()修改原列表 B.sort()修改原列表,sorted()返回新列表 C.两者功能完全相同 D.都不支持逆序排序 12.下列代码运行后,输出结果是( ) t = (1, 2, 3, 4) print(t[1:3]) A.(2, 3) B.(1, 2, 3) C.(2, 3, 4) D.报错 13.Python中,集合的difference()方法的作用是( ) A.求两个集合的交集 B.求两个集合的并集 C.求两个集合的差集 D.求两个集合的对称差集 14.下列数据结构中,不支持in操作判断元素是否存在的是( ) A.列表 B.元组 C.字典 D.以上都支持 15.下列代码运行后,输出结果是( ) lst = [1, 2, 3, 4] lst.insert(1, 5) print(lst) A.[1, 5, 2, 3, 4] B.[5, 1, 2, 3, 4] C.[1, 2, 5, 3, 4] D.报错 16.Python中,字典的values()方法返回的是( ) A.所有键的列表 B.所有值的视图对象 C.所有键值对的元组 D.所有键的视图对象 17.下列代码运行后,输出结果是( ) s = "Python" print(s[2:5]) A."tho" B."yth" C."hon" D.报错 18.Python中,元组与列表的本质区别是( ) A.元组元素不可变,列表元素可变 B.元组元素可重复,列表元素不可重复 C.元组无序,列表有序 D.元组支持修改,列表不支持修改 19.下列代码运行后,输出结果是( ) d = {"a": 1, "b": 2} d["c"] = 3 print(d) A.{"a": 1, "b": 2} B.{"a": 1, "b": 2, "c": 3} C.{"c": 3} D.报错 20.Python中,以下( )数据结构最适合用于去重操作 A.列表 B.元组 C.集合 D.字典 2、 多项选择题(本大题共10小题,每小题3分,共30分) 1.下列数据结构中,属于有序结构的有( ) A.列表 B.元组 C.集合 D.字符串 2.下列关于字典(dict)的说法,正确的有( ) A.字典的键必须是不可变类型 B.字典的值可以是任意数据类型 C.字典支持通过索引访问元素 D.字典的键具有唯一性 3.下列方法中,属于列表内置方法的有( ) A.append () B.remove () C.sort () D.add () 4.下列数据结构中,支持in操作判断元素是否存在的有( ) A.列表 B.元组 C.集合 D.字典 5.下列关于集合的说法,正确的有( ) A.集合元素不可重复 B.集合支持union()方法求并集 C.集合是有序结构 D.集合支持intersection()方法求交集 6.关于Python列表的特性,说法正确的有( ) A.支持增删改查操作 B.元素类型可以不同 C.长度固定不可变 D.可通过索引访问元素 7.Python字典的核心特征包括( ) A.以键值对形式存储 B.键必须唯一且不可变 C.支持通过索引访问值 D.元素有序排列 8.下列关于元组与列表的区别,说法正确的有( ) A.元组用圆括号定义,列表用方括号定义 B.元组不可变,列表可变 C.元组支持append ()方法 D.列表支持remove ()方法 9.Python集合的常用功能有( ) A.自动去除重复元素 B.支持交集、并集等集合运算 C.支持通过索引访问元素 D.元素无序排列 10.下列关于Python中文件处理与CSV模块的说法,正确的有( ) A.CSV模块的reader ()函数可自动解析CSV文件的分隔符,无需手动处理 B.使用with语句打开文件后,无需手动调用close ()方法关闭文件 C.os.rename ()函数可实现文件重命名,若目标文件已存在会直接覆盖 D.读取CSV文件时,指定encoding='utf-8'可避免中文乱码问题 三、是非选择题(本大题共10小题,每小题2分,共20分)1.列表的append()方法可以一次性添加多个元素。( )2.元组的元素一旦定义就无法修改,因此元组没有任何修改相关的方法。( ) 3.字典的键可以是列表、字典等可变类型。( ) 4.集合的remove()方法删除不存在的元素时会报错,而discard()方法不会。( ) 5.字符串是有序且不可变的,因此无法通过切片修改字符串中的字符。( ) 6.列表的sort()方法默认按升序排序,通过reverse=True参数可实现降序排序。( )7.字典在Python3.7及以上版本中,会保留键值对的插入顺序。( ) 8.元组的定义必须使用()包裹,否则会被识别为其他数据类型。( ) 9.集合的union()方法和|运算符功能相同,均用于求两个集合的并集。( ) 10.字典的items()方法返回的是包含键值对的列表,可直接修改其中的键或值。( ) 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 $

资源预览图

专题八 程序中常用的数据结构《Python程序设计》45分钟专题训练(浙江版)-第1页
1
专题八 程序中常用的数据结构《Python程序设计》45分钟专题训练(浙江版)-第2页
2
专题八 程序中常用的数据结构《Python程序设计》45分钟专题训练(浙江版)-第3页
3

由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。