专题八 程序中常用的数据结构《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()方法返回的是包含键值对的列表,可直接修改其中的键或值。( )
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
$