专题六 Python 列表(课件)-《Python程序设计》职教高考备考讲练测(安徽省)

2025-04-01
| 25页
| 162人阅读
| 2人下载
精品

资源信息

学段 中职
学科 职教专业课
课程 程序设计基础
教材版本 -
年级 高一
章节 -
类型 课件
知识点 序列
使用场景 中职复习
学年 2025-2026
地区(省份) 安徽省
地区(市) -
地区(区县) -
文件格式 PPTX
文件大小 2.06 MB
发布时间 2025-04-01
更新时间 2025-04-01
作者 PythonStudy
品牌系列 上好课·一轮讲练测
审核时间 2025-04-01
下载链接 https://m.zxxk.com/soft/51368201.html
价格 5.00储值(1储值=1元)
来源 学科网

内容正文:

专题六 Python 列表 Python程序设计 1 考纲解读 一 1.了解列表的定义 2.掌握列表的创建和列表函数 3.掌握字符串的索引和切片 4.掌握的专用操作 5.掌握序列对象的内置函数 6.了解深拷贝和浅拷贝 7.了解序列的拆分赋值 知识点梳理-列表定义和创建 二 列表定义 列表(list)可变的数据类型,是一个容器,可以存放任意数据类型,里面的每一个数据项称为一个元素。 创建列表的方法 # 创建空的列表 list1 = [] # 方法1 list2 = list() # 方法2 # 字符串转列表 str1 = "hello" print(list(str1)) # ['h', 'e', 'l', 'l', 'o'] 知识点梳理-列表的索引和切片 二 列表的取索引和切片操作和字符串一样,掌握了字符串的操作就掌握了列表的操作。 这里简单的介绍一下: 1) 索引 通过索引对列表中的元素进行访问。语法格式如下: 列表名[索引] 索引不能越界,否则会出现IndexError的错误 示例 如图1 2) 切片 通过切片操作可以从列表中取出某个范围的元素,从而构成新的列表。语法格式如下: 列表名[起始索引:终止索引:步长] 示例 如图2 图1 图2 知识点梳理-列表的连接和复制 比较和检查成员 二 列表1+列表2 >>> [1,2,3]+[4,5,6] [1, 2, 3, 4, 5, 6] 列表*整数 或 整数*列表 >>> [1,2,3]*3 [1, 2, 3, 1, 2, 3, 1, 2, 3] >>> 2*["AB","CD"] ['AB', 'CD', 'AB', 'CD'] 2)检查成员资格 使用in 运算符可以判断一个值是否包含在列表中 >>> 1 in [1,2,3] True >>> 9 in [1,2,3] False >>> 6 not in [1,2,3] True >>> [1] in [1,2,3] # 将[1]看作整体 False >>> [1] in [[1],2,3] True 1)列表的比较 首先比较两个列表的第一个元素,如果这两个元素相等,则继续后面的对应的两个元素;如果这两个元素不相等,则返回这两个元素的比较结果。重复这个过程,直至出现不相等的元素或比较完所有元素为止. >>> [1,2,3,4]<[1,2,1,2,3] False >>> [2,5,8]>[1,2,6,1] True 知识点梳理-列表的拆分赋值和专用操作 二 拆分赋值 x,y,z = [1,2,3] print(x,y,z) # 1 2 3 # 上面的操作字符串、元组、集合、字典同样支持 进行拆分赋值时,要求变量个数必须与列表元素个数相等,否则会出现ValueError的错误 如何解决上面的问题,就在变量前面加* *a, b, c = [1, 2, 3, 4, 5, 6] print(a) # [1,2,3,4] a, *b, c = [1, 2, 3, 4, 5, 6] print(b) # [2,3,4,5] a, b, *c = [1, 2, 3, 4, 5, 6] print(c) # [3,4,5,6] 知识点梳理-列表的拆分赋值和专用操作 二 拆分赋值 x,y,z = [1,2,3] print(x,y,z) # 1 2 3 # 上面的操作字符串、元组、集合、字典同样支持 进行拆分赋值时,要求变量个数必须与列表元素个数相等,否则会出现ValueError的错误 如何解决上面的问题,就在变量前面加* *a, b, c = [1, 2, 3, 4, 5, 6] print(a) # [1,2,3,4] a, *b, c = [1, 2, 3, 4, 5, 6] print(b) # [2,3,4,5] a, b, *c = [1, 2, 3, 4, 5, 6] print(c) # [3,4,5,6] 知识点梳理-列表的拆分赋值和专用操作 二 2) 专用操作 列表对象是可变的序列,对列表除了可以使用序列的通用操作,还可以进行一些专用的操作。例如元素赋值、切片赋值、元素删除等。 2.1 列表元素赋值 列表对象[索引]=新的值 lst = [1, 2, 3, 4] lst[1] = 100 lst[2] = 200 print(lst) # [1,100,200,4] 2.2 列表元素添加 列表对象.append(值) lst = [1, 2, 3, 4] lst.append(5) print(lst) # [1, 2, 3, 4, 5] lst.append([6,7]) print(lst) # [1,2,3,4,5,[6,7]] 知识点梳理-列表的拆分赋值和专用操作 二 2.3 列表对象.extend(seq) 将seq中的元素添加到列表的末尾 lst=[1,2,3,4] lst.extend([5,6]) print(lst) # [1, 2, 3, 4, 5, 6] 2.4 列表对象.insert(索引,值) lst = [1, 2, 3, 4] lst.insert(2, "hello") print(lst) # [1, 2, 'hello', 3, 4] 特别说明:如果索引超出列表对象的最大索引值,则会将值添加到列表的最后面。 lst = [1, 2, 3, 4] lst.insert(4, "hello") print(lst) # [1, 2, 3, 4, 'hello'] 知识点梳理-列表的拆分赋值和专用操作 二 2.5 列表元素删除 从列表中删除指定的元素,可以使用del语句来实现。 lst = [1, 2, 3, 4] del lst[0] del lst[1] print(lst) # [2, 4] 2.6 列表对象.sort(key=func,reverse=False) 其中key指定排序规则。reverse的值为False升序排序,reverse的值为True降序排序,默认值为False。 lst=[3,1,2,6,5,4] lst.sort() print(lst) # [1, 2, 3, 4, 5, 6] lst=[3,1,2,6,5,4] lst.sort(reverse=True) print(lst) # [6, 5, 4, 3, 2, 1] 知识点梳理-列表的拆分赋值和专用操作 二 2.7 lst.remove(x) 使用该方法可以从列表lst中删除第一个值为x的元素,如果列表中不存在这样的元素则会出现ValueError错误,例如: 2.8 lst.pop(i) 使用该方法可以从列表lst中弹出索引为i的元素,然后删除并返回该元素;如果未指定参数i,则会弹出列表中的最后一个元素;如果指定的参数i越界,则会出现IndexError的错误,例如: 知识点梳理-列表的拆分赋值和专用操作 二 2.9 lst.count(x)使用该方法可以返回元素x在列表lst中出现的次数。例如: 3.0 lst.index(x[,start,end]) 使用该方法返回元素x在列表lst中第一次出现的索引值,如果元素x未包含在列表lst中,则会出现ValueError的错误。例如: 3.1 lst.reverse( ) 使用该方法可以反转列表list中所有元素。例如: 知识点梳理-列表的拆分赋值和专用操作 二 3.2 lst.copy( ) 使用该方法可以复制列表list中所有元素(浅拷贝)。例如: list1 = [1, 2, 3, 4, 2] list2 = list1.copy() list2.reverse() print(list1) # [1, 2, 3, 4, 2] print(list2) # [2, 4, 3, 2, 1] 3.3 列表的批量赋值和删除(切片赋值) 大家有没有发现,上面的赋值操作和删除操作如果遇到多个值的操作,显然会代码允余。那么我们来进行批量的操作。 切片赋值:通过切片赋值可以使用一个值列表来修改指定范围的一组元素的值。 当提供的值列表长度等于切片的长度,对应的值会被修改。 >>> list1=[1,2,3,4,5,6] >>> list1[1:4] = [200,300,400] >>> list1 [1, 200, 300, 400, 5, 6] >>>  当提供的值列表长度不等于切片的长度: 1.如果提供的值列表长度大于切片的长度,则会插入新的元素。例如: >>> list1=[1,2,3,4,5,6] >>> list1[1:4]=[120,130,140,150,160] >>> list1 [1, 120, 130, 140, 150, 160, 5, 6] 知识点梳理-列表的拆分赋值和专用操作 二 2.如果提供的值列表长度小于切片的长度,则会删除多出的元素。例如: >>> list1=[1,2,3,4,5,6] >>> list1[1:4]=[200,300] >>> list1 [1, 200, 300, 5, 6] 3.当进行切片赋值的时候,如果步长不等于1,则要求提供的值列表长度必须与切片长度相等,否则将出现ValueError错误,例如: >>> list1=[1,2,3,4,5,6,7,8,9,10] >>> list1[0:10:2]=[11,22,33,44,55] >>> list1 [11, 2, 22, 4, 33, 6, 44, 8, 55, 10] >>> list1[0:10:2]=[100,200,300] Traceback (most recent call last): File "<stdin>", line 1, in <module> ValueError: attempt to assign sequence of size 3 to extended slice of size 5 批量删除 若要从列表删除指定范围内的元素,也可以通过切片赋值来实现,例如: >>> list1=[1,2,3,4,5,6] >>> list1[1:4]=[] >>> list1 [1, 5, 6] 知识点梳理-适用于序列对象的内置函数 二 为了便于使用列表,Python提供了一些内置函数,这些函数不仅可以应用于列表,还可以应用于其他可迭代类型,例如字符串、元组等。 len(seq) 返回序列的长度 既序列中包含的元素个数 例如: lst = [1, 2, 3, 4, 5] print(len(lst)) # 5 2) max(iterable, key=func) 返回序列中的最大元素,例如: 注意: max()的参数是可迭代对象且不能是复数(因为复数和复数不能比较) lst = [1, 2, 3, 4] print(max(lst)) # 4 print(max("hello")) # "o" print(max(1,2,3,4,5)) # 5 print(max(1)) # TypeError: 'int' object is not iterable 当列表中的元素是字符,则返回ASCII最大的元素 lst = ["a", "c", "b"] print(max(lst)) # c print(max(1,True,0)) # 1 print(max(True,1,0)) # True 值和长度相同时,谁在前面返回谁 知识点梳理-适用于序列对象的内置函数 二 3) min( ) 返回序列中的最小元素,例如: list1 = [1, 2, 3, 4, 5] print(min(list1)) # 1 4) sorted(iterable,key=None,reverse=False ) 对可迭代对象进行排序操作并返回排序后的新列表,原始列表不变,参数iterable表示可迭代类型,参数key指定一个函数,实现自定义排序,默认为None,参数reverse用于指定规则,设置为True则按降序排序,默认为False的话表示按升序排序。例如: list1 = [10, 3, 1, 2, 6, 4] list2 = sorted(list1) print(list2) # [1, 2, 3, 4, 6, 10] list2 = sorted(list1, reverse=True) print(list2) st = "hello" print(sorted(st)) # ['e', 'h', 'l', 'l', 'o'] print(''.join(sorted(st))) # 'ehllo’ sorted( )函数与sort( )函数对比: 1.sort()函数只能对列表排序,且会修改原来的列表 2.sorted()函数可以对任意序列对象排序,且不会修改原来的列表 知识点梳理-适用于序列对象的内置函数 二 3) min( ) 返回序列中的最小元素,例如: list1 = [1, 2, 3, 4, 5] print(min(list1)) # 1 4) sorted(iterable,key=None,reverse=False ) 对可迭代对象进行排序操作并返回排序后的新列表,原始列表不变,参数iterable表示可迭代类型,参数key指定一个函数,实现自定义排序,默认为None,参数reverse用于指定规则,设置为True则按降序排序,默认为False的话表示按升序排序。例如: list1 = [10, 3, 1, 2, 6, 4] list2 = sorted(list1) print(list2) # [1, 2, 3, 4, 6, 10] list2 = sorted(list1, reverse=True) print(list2) st = "hello" print(sorted(st)) # ['e', 'h', 'l', 'l', 'o'] print(''.join(sorted(st))) # 'ehllo’ sorted( )函数与sort( )函数对比: 1.sort()函数只能对列表排序,且会修改原来的列表 2.sorted()函数可以对任意序列对象排序,且不会修改原来的列表 5) sum(seq) 对序列进行求和计算,参数seq可以是列表、元组、集合、字典不能是字符串 list1 = [1, 2, 3, 4] print(sum(list1)) # 10 知识点梳理-深拷贝和浅拷贝 二 举例:lst=[1,2,3,[4,5,6]] 定义:上面的列表中,lst称为父对象,[4,5,6]相对于lst为子对象 而元素1,2,3称为父对象的一级元素,而4,5,6称为二级元素 浅拷贝: 只负责父对象的一级元素,并不复制子对象中的元素.因此浅拷贝之后,二级元素任然共用一个地址。 深拷贝: 复制父对象的一级元素也会复制二级元素。 # 浅拷贝 lst = [1, 2, 3, [4, 5, 6]] lst1 = lst.copy() lst1[3][1] = 50 print(lst[3][1]) # 50 print(lst1[3][1]) # 50 # 深拷贝 import copy lst = [1, 2, 3, [4, 5, 6]] lst1=copy.deepcopy(lst) lst[3][1]=50 print(lst[3][1]) # 50 print(lst1[3][1]) # 5 限时练习 三 1.print(list("hello"))的运行结果__________ 【答案】['h', 'e', 'l', 'l', 'o'] 【解析】将字符串的每个字符转为列表的元素 2.下面代码的运行结果__________ lst=[1,2,3,4,5,6,7,8,9] print(lst[1::3]) 【答案】[2, 5, 8] 【解析】步长为3,省略结束索引表示取片到字符串的末尾 限时练习 三 3.下面代码的运行结果__________ lst=[1,2,3,4,5,6,7,8,9] print(lst[:3:-2]) 【答案】[9, 7, 5] 【解析】步长为-2,省略开始索引表示从字符串的头(索引为-1)开始取切片到索引3(不包含索引3) 4.下面代码的运行结果__________ lst1=[1,2] lst2=[4,5] print(lst1*2+lst2*3) 【答案】[1, 2, 1, 2, 4, 5, 4, 5, 4, 5] 【解析】lst1*2的值[1,2,1,2] lst2*3的值为[4,5,4,5,4,5] 列表拼接之后[1, 2, 1, 2, 4, 5, 4, 5, 4, 5] 限时练习 三 5. print([2,3,4]>[2,3,3])的运行结果__________ 【答案】True 【解析】左侧的列表与右侧的列表前面两个元素相同,第三个元素左侧的大,则左侧的列表大 6. print([1] in [1,2,3])的运行结果__________ 【答案】False 【解析】[1]看作整体,显然不在列表[1,2,3]里面 7. print([1] in [[1],2,3])的运行结果__________ 【答案】True 【解析】[1]看作整体,显然在列表[1,2,3]里面 限时练习 三 8.下面代码的运行结果__________ x,y,z=[2,3,4] print(x**y%z) 【答案】0 【解析】x**y的值为8 8%4的值为0 9.下面代码的运行结果__________ lst=[1,2,3,4] lst[1]=20 print(lst) 【答案】[1, 20, 3, 4] 【解析】将索引1位置的元素修改为20 限时练习 三 10.下面代码的运行结果__________ lst=[1,2,3,4] lst.append([5,6]) lst.extend([7,8]) print(lst) 【答案】[1, 2, 3, 4, [5, 6], 7, 8] 【解析】append([5,6]) 将[5,6]添加到列表的末尾 extend([7,8])将列表[7,8]的元素依次添加到列表的末尾 11.下面代码的运行结果__________ lst=[1,2,3,4,5] lst.insert(2,'h’) print(lst) 【答案】[1, 2, 'h', 3, 4, 5] 【解析】将字符'h'添加到索引2位置元素的前面 归纳总结 四 谢谢观看 25 $$

资源预览图

专题六 Python 列表(课件)-《Python程序设计》职教高考备考讲练测(安徽省)
1
专题六 Python 列表(课件)-《Python程序设计》职教高考备考讲练测(安徽省)
2
专题六 Python 列表(课件)-《Python程序设计》职教高考备考讲练测(安徽省)
3
专题六 Python 列表(课件)-《Python程序设计》职教高考备考讲练测(安徽省)
4
专题六 Python 列表(课件)-《Python程序设计》职教高考备考讲练测(安徽省)
5
专题六 Python 列表(课件)-《Python程序设计》职教高考备考讲练测(安徽省)
6
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。