内容正文:
项目5 列表和元组的操作及应用
/// ///
班级花名册是教师最常用的课堂管理工具之一。在本任务中,学习通过列表的方式生成班级花名册,并学习如何在班级花名册中添加、删除成员。假设班级中共有小张、小王、小黄、小耿和小李五位同学,则需要将这五位同学的姓名添加到班级花名册中;假设小王转学了,则需要将他的名字在班级花名册中删除,并输出“小王同学已经转学”;假设小刘同学加入了班级,则需要将小刘同学的名字添加到班级花名册中,并输出“欢迎小刘同学”。
任务9 班级花名册——列表的创建和基本操作
任务描述
任务分析
使用列表生成一个成员数量随机的班级花名册,通过内建函数实现列表中成员的添加和删除。
/// ///
知识准备
列表是Python中的基本数据结构,它允许将不同类型的元素存入其中,成为一个有顺序的、可以更改的集合。集合中允许存在重复元素,每个元素都会在列表中被分配一个位置,每个位置都对应一个索引值,其中起始元素的索引值为0,第一个元素的索引值为1,以此类推。
若要创建一个列表,则只需要将使用逗号分隔的不同元素使用方括号“[]”包括起来。使用len( )函数可以确定列表的长度:
/// ///
也可以使用元素中的索引值输出列表中的单个元素,与字符串变量相似,通过使用起始索引值和终止索引值,可以实现指定范围输出。当索引值为正值时,元素的检索方向为从左到右; 当索引值为负值时,元素的检索方向为从右到左:
/// ///
列表允许对其中元素的值进行修改,方法也很简单,只需要对列表中指定索引位置的元素重新赋值即可:
在Python中有两个内建函数可以实现向字符串中添加元素,append( )方法可以将指定的元素添加到列表的最后; 如果需要将元素添加到列表的指定位置,则需要使用insert( )方法。列表的insert( )方法的具体使用方法为: list.insert(索引位置,元素)。
/// ///
首先定义一个列表,将小张、小王、小黄、小耿和小李五位同学的姓名存放在该列表(班级花名册)中,然后检测该列表的长度并输出该列表。
任务实施
roster = ['小张','小王','小黄','小耿','小李']
num = len(roster)
print(roster)
print('班级中共有%d位同学'%num)
得到结果:
['小张', '小王', '小黄', '小耿', '小李']
班级中共有5位同学
/// ///
小王同学转学,需要将他的名字在列表中删除,可使用remove( )方法进行删除操作:
得到结果:
print('%s同学已经转学。'%roster[1])
roster.remove('小王')
num = len(roster)
print(roster)
print('班级中共有%d位同学'%num)
小王同学已经转学。
['小张', '小黄', '小耿', '小李']
班级中共有4位同学
/// ///
在本任务中学习了列表的定义和基本操作,了解了通过索引值操作列表中的元素,学习了pop( )、remove( )、insert( )、append( )等内建函数的使用方法,以及关键字len的使用方法。
任务总结
任务检测
(1)简述pop( )方法与remove( )方法的作用和区别。
(2)简述内建函数insert( )方法与append( )方法的作用和区别。
任务拓展
了解print( )函数中file参数和flush参数的使用方法。
/// ///
模仿任务9生成班级成绩单,为了防止班级成绩单中的信息被恶意修改,请在班级成绩单排序结束后对其进行锁死,以禁止修改班级成绩单中的信息,最后输出班级成绩单中的最高分和最低分。
任务10 班级成绩单的排序和防修改——列表与元组的异同
任务描述
任务分析
首先使用列表生成班级成绩单,并使用列表的排序方法将列表中的元素进行排序,然后将列表中的内容存储到元组中,以实现对元组的锁死,以防止其中的内容被修改,比较列表和元组的区别。
/// ///
知识准备
元组是有顺序且不可更改的集合。列表是一个有顺序、可以更改的集合。元组与列表最主要的区别就在于集合中的元素是否可以更改。在Python中,定义元组的方法很简单,即使用圆括号“( )”来表示元组,添加元素时需要用逗号隔开,即使元组中只有一个元素,该元素的后面也要添加逗号:
>>> tuple1 = (1,2,3)
>>> tuple2 = ('a','b','c')
>>> tuple3 = ( )
>>> tuple4 = ('你好',)
>>> print(tuple1)
(1