《Python程序设计》结构数据类型及其操作(举一反三考点练)-讲义

2025-11-04
| 12页
| 91人阅读
| 0人下载
精品

资源信息

学段 中职
学科 职教专业课
课程 程序设计基础
教材版本 -
年级 -
章节 -
类型 教案-讲义
知识点 序列,字典与集合
使用场景 中职复习
学年 2025-2026
地区(省份) 全国
地区(市) -
地区(区县) -
文件格式 DOCX
文件大小 345 KB
发布时间 2025-11-04
更新时间 2025-11-04
作者 小曾老师.1
品牌系列 学科专项·举一反三
审核时间 2025-11-04
下载链接 https://m.zxxk.com/soft/54702481.html
价格 5.00储值(1储值=1元)
来源 学科网

内容正文:

举一反三考点练 《Python程序设计》结构数据类型及其操作-讲义 1. 综合应用列表; 2. 综合应用元组; 3. 综合应用字典; 知识点一 列表 1. 定义与创建 定义:列表(list)是Python中最常用的有序可变序列,可存储任意类型元素(数字、字符串、列表等),元素间用逗号分隔,整体用方括号[]括起来。 创建方式: 直接赋值:lst = [1, 'a', True] 使用list()函数:lst = list('abc') → ['a', 'b', 'c'];lst = list(range(5)) → [0, 1, 2, 3, 4] 空列表:lst = []或lst = list() 2. 索引与切片 索引:从0开始,支持负索引(-1表示最后一个元素)。如lst[0]为首元素,lst[-1]为末元素。 切片:格式[start:stop:step],获取子列表(左闭右开)。 省略参数:lst[:3](前3个元素),lst[::2](步长为2),lst[::-1](逆序)。 3. 常用操作 增: append(obj):末尾追加元素。 insert(index, obj):指定位置插入。 extend(iterable):末尾追加可迭代对象(如列表、元组)。 删: del lst[index]:删除指定索引元素。 remove(obj):删除首个匹配元素(不存在则报错)。 pop([index]):删除并返回指定索引元素(默认末尾)。 clear():清空列表。 改:通过索引直接赋值,如lst[0] = 100。 查: index(obj):返回首个匹配元素的索引。 count(obj):统计元素出现次数。 in/not in:判断元素是否存在(如'a' in lst)。 4. 排序与反转 sort(key=None, reverse=False):原地排序(默认升序),reverse=True降序。 sorted(lst):返回排序后的新列表(原列表不变)。 reverse():原地反转列表。 5. 列表推导式 简洁生成列表的语法:[expression for item in iterable if condition]。 示例:[x**2 for x in range(5)] → [0, 1, 4, 9, 16]。 6. 多维列表 列表嵌套形成多维结构(如矩阵),通过多重索引访问:matrix[0][1](第0行第1列)。 7. 内存与引用 列表是可变对象,赋值操作传递引用(修改lst2 = lst1的lst2会影响lst1)。 浅拷贝:lst.copy()或lst[:](生成新列表,但嵌套元素仍共享引用)。 深拷贝:copy.deepcopy(lst)(完全独立副本)。 8. 常用函数 len(lst):返回列表长度。 max(lst)/min(lst):返回最大/最小值(元素需可比较)。 sum(lst):求和(元素为数值型)。 (单项选择题)在Python中,执行以下代码后,列表lst的值是?( ) lst = [1, 2, 3] lst.append([4, 5]) A. [1, 2, 3, 4, 5] B. [1, 2, 3, [4, 5]] C. [[1, 2, 3], 4, 5] D. [1, 2, 3, 4, [5]] 【答案】B 【解析】append()方法用于在列表末尾追加一个元素,无论该元素是什么类型(此处为一个列表[4, 5]),它都会作为一个整体被添加进去。 【要点】考查列表append()方法的功能,即追加单个元素。 1.(单项选择题)已知列表lst = [10, 20, 30, 40, 50],要获取子列表[20, 30, 40],正确的切片操作是?( ) A. lst[1:4] B. lst[2:4] C. lst[1:3] D. lst[2:5] 【答案】A 【解析】切片操作[start:stop]包含起始索引start,但不包含结束索引stop。要获取索引为1、2、3的元素,应使用lst[1:4]。 【要点】考查列表切片的左闭右开原则。 2.(单项选择题)下列关于列表操作的说法,错误的是?( ) A. lst.sort()方法会直接修改原列表,使其有序。 B. sorted(lst)函数会返回一个排序后的新列表,原列表不变。 C. del lst[2]可以删除列表中索引为2的元素。 D. lst.remove(2)和del lst[2]的功能完全相同。 【答案】D 【解析】remove(obj)是根据元素值删除第一个匹配项,而del lst[index]是根据索引删除元素。例如,对于lst = [2, 3, 2],lst.remove(2)会删除第一个2,而del lst[2]会删除最后一个2。 【要点】考查remove()方法与del语句的区别,前者按值删除,后者按索引删除。 3.(判断题)在Python中,列表是可变序列,因此可以通过索引直接修改列表中的元素。( ) 【答案】√ 【解析】可变是列表的核心特性之一,允许对已存在的元素进行修改、删除或添加新元素。通过lst[index] = new_value即可修改。 【要点】考查列表的可变性(Mutable)特性。 1.(判断题)执行lst1 = [1, 2]; lst2 = lst1; lst2.append(3)后,lst1的值会变为[1, 2, 3]。( ) 【答案】√ 【解析】lst2 = lst1是赋值操作,传递的是对象的引用,而非创建副本。此时lst1和lst2指向同一个列表对象,因此对lst2的修改会直接影响lst1。 【要点】考查列表的引用传递特性。 2.(填空题)请用列表推导式生成一个包含0到9之间所有偶数的列表,实现语句为:even_list = ______。 【答案】[x for x in range(10) if x % 2 == 0] 【解析】列表推导式[expression for item in iterable if condition]可以简洁地生成列表。range(10)生成0-9,if x % 2 == 0筛选出偶数。 【要点】考查列表推导式的语法和应用。 3.(填空题)要统计列表words = ['apple', 'banana', 'apple', 'orange']中字符串'apple'出现的次数,可以使用的代码是count = words.______('apple')。 【答案】count 【解析】列表的count()方法用于统计某个元素在列表中出现的次数。 【要点】考查列表count()方法的使用。 · 列表是Python中一种有序且可变的序列,能够存储任意类型的元素。 · 通过索引和切片可以灵活地访问、修改列表中的元素或获取子列表。 · 列表提供了丰富的内置方法(如增、删、改、查、排序)来高效操作数据。 · 列表推导式是一种简洁创建新列表的语法,但需注意列表赋值是引用传递。 知识点二 元组 1. 定义 元组是Python的有序序列,用圆括号()表示,元素间用逗号分隔。与列表不同,元组是不可变(immutable)的,即创建后不能修改元素。 2. 创建方式 直接赋值:t = (1, 2, 3) 单元素元组需加逗号:t = (1,)(否则t = (1)会被视为整数1) 使用tuple()函数:t = tuple([1, 2, 3]) 3. 特性 有序性:元素按定义顺序排列,支持索引(如t[0])和切片(如t[1:3])。 不可变性:不能修改、删除或添加元素(如t[0] = 4会报错)。 可哈希:可作为字典的键或集合的元素(列表不可)。 4. 常用操作 索引与切片:同列表,如t[-1]返回最后一个元素。 内置函数: len(t):返回元组长度。 max(t)/min(t):返回最大/最小元素(需元素可比较)。 t.count(x):统计元素x出现次数。 t.index(x):返回元素x首次出现的索引。 解包:a, b = (1, 2)将元素赋值给变量。 5. 与列表的区别 特性 元组 列表 可变性 不可变 可变 符号 () [] 性能 更快(内存占用少) 较慢(支持动态修改) 适用场景 固定数据、字典键 频繁修改的数据 6. 应用场景 存储不应修改的数据(如坐标、数据库记录)。 作为多值返回的函数结果(如return x, y实际返回元组)。 用作字典的键(如{(1, 2): "value"})。 (单项选择题) 在Python中,要创建一个只包含整数5的元组,正确的写法是?( ) A. t = (5) B. t = 5, C. t = (5,) D. t = [5] 【答案】C 【解析】创建单元素元组时,必须在元素后添加一个逗号,否则Python会将其识别为一个普通的括号表达式。选项A会被视为整数5,选项B虽然语法正确(元组打包),但选项C是更明确和标准的写法。选项D创建的是列表。 【要点】考查单元素元组的创建方法。 1.(单项选择题) 下列关于元组特性的描述,错误的是?( ) A. 元组中的元素是有序的 B. 元组创建后,其元素不能被修改 C. 元组可以作为字典的键 D. 元组不支持切片操作 【答案】D 【解析】元组和列表一样,都是有序序列,因此支持索引和切片操作(如 t[1:3])。元组的不可变性是指不能修改、删除或添加其元素,但这并不影响通过切片获取子元组。 【要点】考查元组的基本特性,特别是与列表的共性和区别。 2.(单项选择题) 已知元组 t = (1, 2, 3, 2),执行 t.count(2) 的结果是?( ) A. 1 B. 2 C. 3 D. 4 【答案】B 【解析】count() 方法用于统计指定元素在元组中出现的次数。在元组 t 中,元素 2 出现了两次,因此结果为2。 【要点】考查元组的常用方法 count() 的使用。 3.(判断题) 元组是不可变序列,因此任何情况下都无法改变元组的内容。( ) 【答案】× 【解析】元组本身的不可变性指的是元组中元素的引用不能被改变。但如果元组中包含可变对象(如列表),那么这个可变对象的内容是可以被修改的。例如,t = ([1, 2], 3),执行 t[0].append(4) 是合法的,列表 [1, 2] 的内容被改变了。 【要点】考查对元组“不可变性”的深层理解,特别是包含可变对象时的情况。 1.(判断题) 在Python中,函数可以返回多个值,其本质是返回一个元组。( ) 【答案】√ 【解析】当使用 return a, b 这样的语法时,Python会自动将 a 和 b 打包成一个元组 (a, b) 并返回。调用方可以通过元组解包(如 x, y = func())来接收这些值。 【要点】考查元组在函数多值返回中的应用。 2.(填空题) 已知元组 t = ('a', 'b', 'c'),执行语句 x, y, z = t 后,变量 y 的值是__________。 【答案】'b' 【解析】这是元组的解包(unpacking)操作。它将元组中的元素按顺序依次赋值给对应的变量。'a' 赋给 x,'b' 赋给 y,'c' 赋给 z。 【要点】考查元组的解包操作。 3.(填空题) 在Python中,如果需要一个不可变的、可作为字典键的序列,通常选择使用__________。 【答案】元组(或 tuple) 【解析】列表是可变的,因此不能作为字典的键。元组是不可变的且是可哈希的,满足作为字典键的条件。这是元组与列表在应用场景上的一个重要区别。 【要点】考查元组与列表在应用场景上的核心区别。 · 元组是用圆括号表示的有序不可变序列,创建后其元素无法修改。 · 与列表不同,元组因不可变而可哈希,故能用作字典的键。 · 元组支持索引、切片和解包操作,常用于存储固定数据或作为函数多值返回。 知识点三 字典 1. 定义与创建 字典是无序的键值对(key-value)集合,键(key)必须唯一且为不可变类型(如字符串、数字、元组),值(value)可为任意类型。 创建方式:d1 = {} # 空字典 d2 = {'name': 'Tom', 'age': 20} # 直接赋值 d3 = dict([('a', 1), ('b', 2)]) # dict()函数 2. 访问与修改 访问:通过键获取值,若键不存在会报错(可用get()避免,返回None或指定默认值)。print(d2['name']) # 输出:Tom print(d2.get('gender', 'unknown')) # 键不存在,返回'unknown' 修改:直接通过键赋值,若键不存在则新增。d2['age'] = 21 # 修改 d2['gender'] = 'male' # 新增 3. 删除操作 del d[key]:删除指定键值对,键不存在报错。 d.pop(key):删除并返回键对应的值,键不存在可设置默认值(pop(key, default))。 d.clear():清空字典。 4. 常用方法 keys():返回所有键的视图(类似列表,可迭代)。 values():返回所有值的视图。 items():返回所有键值对的视图(每个元素为(key, value)元组)。 update(d2):用字典d2更新当前字典(键存在则修改,不存在则新增)。 5. 遍历字典 for key in d2: # 遍历键 print(key, d2[key]) for key, value in d2.items(): # 遍历键值对 print(key, value) 6. 特点 无序性(Python 3.7+后插入顺序保留,但逻辑上仍视为无序)。 键唯一性,重复键后面的值会覆盖前面的。 动态性,可随时增删改键值对。 (单项选择题)下列关于Python字典键(key)的说法,正确的是?( ) A. 键必须是字符串类型 B. 键可以是列表类型 C. 键必须是不可变类型 D. 一个字典中可以存在重复的键 【答案】C 【解析】Python字典的键必须是不可变类型,如数字、字符串或元组。列表是可变类型,不能作为键。字典中的键必须是唯一的,如果重复,后面的值会覆盖前面的值。 【要点】考查字典键的特性:唯一性和不可变性。 1.(单项选择题)已知字典 d = {'a': 1, 'b': 2},执行语句 d['c'] = 3 后,字典d的内容是?( ) A. {'a': 1, 'b': 2} B. {'c': 3} C. {'a': 1, 'b': 2, 'c': 3} D. 程序报错 【答案】C 【解析】通过 d['c'] = 3 的方式,如果键'c'不存在,则会在字典中新增一个键值对。因此,字典d会变为包含三个元素的字典。 【要点】考查字典的新增键值对操作。 2.(单项选择题)下列哪个方法可以安全地获取字典中不存在的键的值,而不会导致程序报错?( ) A. d[key] B. d.get(key) C. d.pop(key) D. d.keys() 【答案】B 【解析】使用 d[key] 访问不存在的键会引发 KeyError。d.get(key) 在键不存在时会返回 None 或指定的默认值,不会报错。d.pop(key) 同样会因键不存在而报错。d.keys() 用于获取所有键。 【要点】考查字典的安全访问方法 get()。 3.(判断题)字典中的值(value)可以是任意类型,包括列表、字典等可变类型。( ) 【答案】√ 【解析】Python对字典的值没有类型限制,可以是任何Python对象,包括数字、字符串、列表、元组,甚至是另一个字典。 【要点】考查字典值的类型特性。 1.(判断题)字典的 items() 方法返回一个包含所有键的列表。( ) 【答案】× 【解析】items() 方法返回的是一个包含所有“键值对”的视图对象,每个元素是一个 (key, value) 形式的元组。返回所有键的方法是 keys()。 【要点】考查字典常用方法 items() 的功能。 2.(填空题)要删除字典 my_dict = {'x': 10} 中的键 'x' 及其对应的值,可以使用语句 ______ my_dict['x']。 【答案】del 【解析】del 是Python的删除语句,可以用来删除字典中的指定键值对。语法格式为 del 字典名[键]。 【要点】考查字典元素的删除操作。 3.(填空题)执行以下代码后,变量 result 的值是 ______。 d = {'apple': 1, 'banana': 2} d.update({'banana': 3, 'cherry': 4}) result = d['banana'] 【答案】3 【解析】update() 方法会用另一个字典来更新当前字典。对于键 'banana',因为其已存在,所以值会被更新为 3;对于键 'cherry',因为其不存在,所以会被新增。因此 d['banana'] 的最终值为 3。 【要点】考查字典 update() 方法的更新逻辑。 · 字典是键值对的集合,其键必须唯一且不可变。 · 通过键可直接访问、修改或新增字典中的值。 · keys()、values()、items()是遍历字典的常用方法。 · get()方法可安全访问不存在的键,避免程序报错。 原创精品资源学科网独家享有版权,侵权必究!2 学科网(北京)股份有限公司 学科网(北京)股份有限公司 $

资源预览图

《Python程序设计》结构数据类型及其操作(举一反三考点练)-讲义
1
《Python程序设计》结构数据类型及其操作(举一反三考点练)-讲义
2
《Python程序设计》结构数据类型及其操作(举一反三考点练)-讲义
3
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。