Python程序开发案例教程(第2版)课件 第4章 列表与元组_第1页
Python程序开发案例教程(第2版)课件 第4章 列表与元组_第2页
Python程序开发案例教程(第2版)课件 第4章 列表与元组_第3页
Python程序开发案例教程(第2版)课件 第4章 列表与元组_第4页
Python程序开发案例教程(第2版)课件 第4章 列表与元组_第5页
已阅读5页,还剩60页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第4章列表与元组《Python程序开发案例教程(第2版))》学习目标/Target

掌握列表的创建方式,能够使用[]和list()函数创建列表掌握访问列表元素的方式,能够通过索引和切片访问列表元素掌握列表的遍历,能够通过for语句遍历列表的元素掌握列表的排序,能够通过sort()和reverse()方法对列表的元素实现排序操作学习目标/Target

掌握列表的增删改操作,能够选择合适的方式添加、删除、修改列表元素熟悉嵌套列表的创建与访问方式,能够创建嵌套列表并访问列表元素掌握元组的创建方式,能够使用()和tuple()函数创建元组掌握访问元组元素的方式,能够通过索引和切片访问元组元素章节概述/Summary列表与元组是Python提供的两种非常重要的数据类型,它们属于序列类型,可以存储任意数量、任何类型的数据,并且支持访问、遍历等一系列操作,本章将对列表和元组这两种数据类型进行介绍。目录/Contents01认识列表02列表的遍历和排序03添加、删除和修改列表元素04嵌套列表05认识元组认识列表4.1

先定一个小目标!掌握列表的创建方式,能够使用[]和list()函数创建列表4.1.1列表的创建方式4.1.1列表的创建方式列表的创建方式使用中括号“[]”创建列表使用list()函数创建列表#使用[]创建空列表list_one=[]#列表中元素类型均为字符串类型list_two=['p','y','t','h','o','n']#列表中元素类型不同list_three=[1,'a','&',2.3]当使用“[]”创建列表时,只需要将需要存储的元素添加到中括号中,并且各个元素之间使用逗号分隔。#整型数据不是可迭代对象,列表创建失败list_one=list(1) #字符串是可迭代对象list_two=list('python') #列表是可迭代对象list_three=list([1,'python']list()函数接收的参数必须是一个可迭代类型的数据,常见可迭代类型包括字符串、列表、元组、字典、集合。

先定一个小目标!掌握访问列表元素的方式,能够通过索引和切片访问列表元素4.1.2访问列表元素使用索引访问列表元素4.1.2访问列表元素(1)通过索引访问列表中的元素Python中的列表支持双向索引,即正向索引和反向索引,其中正向索引从0开始,反向索引从-1开始。正向索引从左向右依次递增,第一个元素的索引为0,第二个元素的索引为1,以此类推。反向索引从右向左依次递减,从右数第一个元素的索引为-1,第二个元素的索引为-2,以此类推。使用索引访问列表元素4.1.2访问列表元素(2)通过切片访问列表中的元素使用切片可以截取列表中的部分元素,得到一个新列表。列表[起始索引:结束索引:步长]语法格式起始索引:表示截取列表的起始位置(包含起始索引),取值可以是正向索引或反向索引。结束索引:表示截取列表的结束位置(不包含结束索引),取值可以为正向索引或反向索引。步长:表示每隔指定步数截取元素,取值正负数均可,默认值为1。若步长为正数,则会按照从左到右的顺序取值;若步长为负数,则会按照从右到左的顺序取值。4.1.2访问列表元素li_one=["自","古","风","云","多","变","幻","不","以","成","败","论","英","雄"]#获取列表中索引为2至索引为10之前的元素print(li_one[2:10])#获取列表中索引为0至索引为10之前的元素print(li_one[:10])#获取列表中索引为2至末尾的元素print(li_one[2:])#获取列表中的所有元素print(li_one[:])#获取列表中索引为2至索引为10之前,且步长为2的元素print(li_one[2:10:2])

先定一个小目标!根据任务分析实现实例1:刮刮乐4.1.3实例1:刮刮乐刮刮乐的玩法多种多样,彩民只要刮去刮刮乐上的银色油墨后即可查看是否中奖。假设现在有一张刮刮乐,该卡片上面共有8个刮奖区,每个刮奖区对应的兑奖信息依次为"谢谢惠顾"、"一等奖"、"三等奖"、"谢谢惠顾"、"谢谢惠顾"、"三等奖"、"二等奖"、"谢谢惠顾",只能刮开其中一个区域。本实例要求编写程序,实现根据用户输入的刮奖区序号展示兑奖信息的过程。4.1.3实例1:刮刮乐使用列表保存中奖信息。接收用户输入刮掉位置的数字。将输入的数字作为索引,从列表中获取中奖信息。实现思路4.1.3实例1:刮刮乐在Chapter04项目中创建01_ticket.py文件。在01_ticket.py中编写代码。运行01_ticket.py文件。实现步骤4.1.3实例1:刮刮乐列表的遍历和排序4.2

先定一个小目标!掌握列表的遍历,能够通过for语句遍历列表的元素4.2.1列表的遍历列表的遍历列表是一个可迭代对象,它支持通过for语句遍历其中的元素。下面以推送商品优惠消息的程序为例,演示如何使用for语句遍历列表的元素。假设现有一个存储了会员姓名的列表,通过for语句遍历该列表,依次向会员推送商品优惠消息。4.2.1列表的遍历list_one=['小明','小红','小花','小丽']print("今日促销通知!!!")foriinlist_one:#通过for语句遍历列表print(f"您好,{i}!今日商店大促销,赶快来抢购吧!")

先定一个小目标!掌握列表的排序,能够通过sort()和reverse()方法对列表的元素实现排序操作4.2.2列表的排序4.2.2列表的排序列表的排序(1)sort()方法sort()方法能够对列表元素排序,该方法的语法格式如下:sort(key=None,reverse=False)语法格式key:表示指定的排序规则,该参数可以是列表支持的函数。default:控制列表元素排序的方式,该参数可以取值True或者False(默认值),如果reverse的值为True,表示降序排列;如果参数reverse的值为False,表示升序排列。li_one=[6,2,5,3]li_two=[7,3,5,4]li_three=['Python','Java','PHP']li_one.sort()

#升序排列列表中的元素li_two.sort(reverse=True)#降序排列列表中的元素li_three.sort(key=len)

#升序排列,排序的规则是列表中各字符串的长度print(li_one)print(li_two)print(li_three)4.2.2列表的排序列表的排序(1)sort()方法使用sort()方法对列表排序后,排序后的列表会覆盖原来的列表,示例代码如下。li_one=[4,3,2,1]li_two=sorted(li_one)#升序排列列表中的元素print(li_one)print(li_two)4.2.2列表的排序列表的排序(2)sorted()函数sorted()函数也能够对列表元素进行重新排列,并返回排列后的新列表,示例代码如下。li_one=['a','b','c','d']li_one.reverse()print(li_one)4.2.2列表的排序列表的排序(3)reverse()方法reverse()方法用于将列表中的元素倒序排列,即把原列表中的元素按照从右至左依次排列存放,示例代码如下。

先定一个小目标!根据任务分析实现实例2:商品价格区间排序4.2.3实例2:商品价格区间排序在电商平台购物时,面对琳琅满目的商品,我们应该如何快速选择适合自己的商品呢?为了能够让用户快速地定位到适合自己的商品,电商平台通常会提供价格排序与设置价格区间功能。假设某电商平台展示10件商品,每件商品对应的价格如表所示。4.2.3实例2:商品价格区间排序序号价格1399243693539428851096749723581909991010004.2.3实例2:商品价格区间排序用户需要分别输入最大价格和最小价格,先选定符合自己需求的价格区间,再选择升序或降序的排序方式,最终输出此价格区间内排序后的的商品价格。本实例要求编写程序,实现以上描述的设置价格区间和价格排序的功能。使用列表保存价格信息。定义空列表用于保存用户选购商品的价格。接收输入的最大价格和最小价格。从价格列表中获取每个商品价格。判断商品价格区间。将商品价格进行排序。实现思路4.2.3实例2:商品价格区间排序在Chapter04项目中创建02_price.py文件。在02_price.py中编写代码。运行02_price.py文件。实现步骤4.2.3实例2:商品价格区间排序添加、删除和修改列表元素4.3

先定一个小目标!掌握列表的增删改操作,能够选择合适的方式添加列表元素4.3.1添加列表元素1.append()方法4.3.1添加列表元素(1)append()方法append()方法用于在列表末尾添加新的元素,示例代码如下。list_one=[1,2,3,4]list_one.append(5)#在列表末尾添加元素5print(list_one)2.extend()方法4.3.1添加列表元素(2)extend()方法extend()方法用于在列表末尾一次性添加另一个列表中的所有元素,即使用新列表扩展原来的列表,示例代码如下。list_str=['a','b','c']list_num=[1,2,3]list_str.extend(list_num)#在列表末尾添加另一列表的所有元素print(list_num)print(list_str)3.insert()方法4.3.1添加列表元素(3)insert()方法insert()方法用于将元素插入列表的指定位置,插入后该位置及其后面的元素整体会向后移动,示例代码如下。names=['baby','Lucy','Alise']names.insert(2,'Peter')#在索引为2的位置插入元素'Peter'print(names)

先定一个小目标!掌握列表的增删改操作,能够选择合适的方式删除列表元素4.3.2删除列表元素1.del语句4.3.1添加列表元素(1)del语句del语句既可以删除列表中单个或多个元素,示例代码如下。names=['小明','小红','小华','小花','小李','小张']delnames[0]#删除索引为1的元素print(names)delnames[1:3]#删除索引为1至索引为3之前的元素print(names)2.remove()方法4.3.1添加列表元素(2)remove()方法remove()方法用于删除列表中的某个元素,若列表中有多个匹配的元素,只会删除匹配到的第一个元素,示例代码如下。chars=['h','e','l','l','e']chars.remove('e')#删除第一个匹配的元素'e'print(chars)3.pop()方法4.3.1添加列表元素(3)pop()方法pop()方法用于删除列表中的某个元素,如果不指定具体元素,那么删除列表中的最后一个元素,示例代码如下。numbers=[1,2,3,4,5]numbers.pop()#删除列表中的最后一个元素print(numbers)numbers.pop(1)#删除列表中索引为1的元素print(numbers)

先定一个小目标!掌握列表的增删改操作,能够选择合适的方式修改列表元素4.3.3修改列表元素修改列表元素修改列表中的元素就是通过索引获取指定位置的元素并对该元素重新赋值,修改后元素的总数量保持不变,示例代码如下。names=['小明','小红','小华']names[0]='小花'#将索引为0的元素由'小明'修改为'小花'print(names)4.3.3修改列表元素

先定一个小目标!根据任务分析实现实例3:好友管理系统4.3.4实例3:好友管理系统如今的社交软件层出不穷,虽然功能千变万化,但都具有好友管理系统的基本功能,包括添加好友、删除好友、备注好友、展示好友等。下面是一个简单的好友管理系统的功能菜单,如图所示。4.3.4实例3:好友管理系统好友管理系统有5个功能,每个功能都对应一个序号,用户可根据自己的需求选择序号执行相应的操作,具体介绍如下。添加好友:用户根据提示输入要添加好友的姓名,添加后输出“好友添加成功”。删除好友:用户根据提示输入要删除好友的姓名,删除后输出“删除成功”。备注好友:用户根据提示分别输入修改前和修改后的好友姓名,修改后输出“备注成功”。展示好友:若用户还没有添加过好友,提示“好友列表为空”,否则输出所有好友的姓名。退出:关闭系统。本实例要求编写程序,模拟实现如上所述的好友管理系统。4.3.4实例3:好友管理系统在Chapter04项目中创建03_friend.py文件。在03_friend.py中编写代码。运行03_friend.py文件。实现步骤4.3.4实例3:好友管理系统嵌套列表4.4

先定一个小目标!熟悉嵌套列表的创建与访问方式,能够创建嵌套列表并访问列表元素4.4.1嵌套列表的创建与访问嵌套列表的创建方式与普通列表相同,可以直接使用中括号创建,且中括号内部包含其他列表,示例代码如下。4.4.1嵌套列表的创建与访问[[0],[1],[2,3]]嵌套列表的创建与访问无缝衔接单元测试嵌套列表中元素的访问方式与普通列表一样,可以使用索引访问嵌套列表中的元素。若希望访问嵌套的内层列表中的元素,则需要先使用索引从嵌套列表中获取指定位置的内层列表,再使用索引从内层列表中获取指定位置的元素。假设现在有一个嵌套列表[['小周','小吴'],['小郑'],['小王','小赵']]。嵌套列表的创建与访问4.4.1嵌套列表的创建与访问如果希望获取嵌套列表里面第一个列表的第一个元素,示例代码如下:4.4.1嵌套列表的创建与访问name_li=[['小周','小吴'],['小郑'],['小王','小赵']]print(name_li[0][0])#访问嵌套列表中第一个列表第一个元素嵌套列表的创建与访问若希望向嵌套的内层列表中添加元素,则需要先获取内层列表,再调用相应的方法往指定的列表中添加元素,示例代码如下。4.4.1嵌套列表的创建与访问name_li=[['小周','小吴'],['小郑'],['小王','小赵']]name_li[1].append('小李')#向嵌套的第二个列表中添加元素'小李'print(name_li)嵌套列表的创建与访问

先定一个小目标!根据任务分析实现实例4:随机分配办公室4.4.2实例4:随机分配办公室某学校新招聘了8名教师,已知该学校有三个空闲办公室且工位充足,现需要随机安排这8名教师的工位。本实例要求编写程序,实现将8名教师随机分配到办公室中。提示:随机选择办公室的功能可以通过此行代码random.randint(0,2)实现,该行代码随机生成0~2之间的任意一个整数,不过在使用这行代码之前需通过importrandom导入模块。4.4.2实例4:随机分配办公室在Chapter04项目中创建04_office.py文件。在04_office.py中编写代码。运行04_office.py文件。实现步骤4.4.2实例4:随机分配办公室认识元组4.5

先定一个小目标!掌握元组的创建方式,能够使用()和tuple()函数创建元组4.5.1元组的创建方式元组的创建方式4.5.1元组的创建方式元组与列表类似,也是由一系列按特定顺序排列的元素组成,但它里面的元素是不能修改的。元组的表现形式为一组包含在小括号“()”中、以逗号分隔的元素,元组中元素的个数、类型不受限制。元组的创建方式4.5.1元组的创建方式使用小括号“()”创建元组使用tuple()函数创建元组tu_one=()tu_two=(1,)tu_three=('t','u','p','l','e')tu_four=(0.3,1,'python',True) 当使用小括号“()”创建元组时,只需要将需要存储的元素添加到小括号中,并使用逗号分隔各个元素。tuple_null=tuple()print(tuple_null)tuple_str=tuple('abc')print(tuple_str)tuple_list=tuple([1,2,3])print(tuple_list)使用tuple()函数创建元组时,如果不向该函数中传入任何数据,就会创建一个空元组;如果要创建包含一个或多个元素的元组,就必须要传入可迭代对象。

先定一个小目标!掌握访问元组元素的方式,能够通过索引和切片访问元组元素4.5.2访问元组元素访问元组元素4.5.2访问元组元素使用索引访问单个元素使用切片访问元组元素tuple_demo=('hello',100,'Python')print(tuple_demo[0])print(tuple_demo[1])print(tuple_demo[2])索引在元组中与列表中的使用方式相同,我们通过“元组[索引]”的方式访问元组中的元素。example_tuple=('p','y','t','h','o','n')print(example_tuple[2:5])切片在元组中的使用方式与在列表中的使用方式相同,我们可以通过“元组[start:end:step]”的形式访问元组中的元素。元组是不可变类型多学一招元组中的元素是不允许被修改的,除非在元组中包含可变类型的数据。例如,创建一个包含3个不可变类型元素的元组,并尝试修改第一个元素的值,示例代码如下。exam_tuple=('hello',100,'Python')exam_tuple[0]='hi'#将索引为0的元素

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论