内容正文:
《Python编程基础与应用》电子教案
课题
5.5. 序列的通用操作
授课人
课型
实训
课程
Python编程基础与应用
班级
课时
2
上课时间
上课地点
教学目标
认识序列的通用操作
认识list,tuple,set和dict的区别
掌握序列的一些常用运算符的使用
掌握序列一些常用内置函数的使用
重 点
序列的一些常用运算符的使用
难 点
序列一些常用内置函数的使用
学情分析
教学方法
演示法、做中学、项目教学法
教学准备
多媒体电脑机房,云教学平台环境,投影仪
教学过程与内容
设计意图
时间
环节一:序列的共性操作
在Python中,字符串、列表、元组、集合和字典等序列支持以下几种通用的操作:序列索引、序列切片、序列相加、序列相乘、值比较、对象身份比较、布尔运算、检查元素是否包含在序列中和内置函数等。但比较特殊的是,集合和字典不支持索引、切片、相加和相乘操作。
分别 举例讲解。
环节二:list,tuple,set和dict的区别
分别 举例讲解。
环节三:相关的运算符
范例1:一些标准类型运算符
下面以字符串、列表和元组作举例。集合与字典的例子请读者自己编写并验证。
>>>'apple'<'rice' #按字符串大小比较
True
>>>[1,2,3]!=[2,4,5] #列表比较
True
>>>tuple1=('english','chinese') #定义一个元组,有2个元素
>>>tuple2=('math') #定义一个元组,有1个元素
>>>tuple3=tuple1 #把元组tuple1赋值给tuple3
>>>tuple4=('english','chinese') #重新命名定义元组tuple4,内容与tuple1一样
>>>tuple1!=tuple2 #判断是否相等
True
>>>tuple1 is tuple2 #判断是否相等,按内存地址
False
>>>tuple1==tuple2 #判断是否相等,按元素的值
False
>>>tuple1 is tuple3 #因tuple3由tuple1直接赋值,内存地址相等,为True
True
>>>tuple1 == tuple3 #因tuple3由tuple1直接赋值,值相等,为True
True
>>>tuple4 is tuple1 #因tuple4重新定义,内存地址不相等,为False
False
>>>tuple4==tuple1 #因tuple4由tuple1的值相等,为True
True
范例2:一些序列运算符
下面以字符串和列表作举例。集合与字典的例子请读者自己编写并验证。
list1=list('python')
list2=list('java')
word1='p'
list3=['p']
print('list1:',list1)
print('list2:',list2)
print('字符p在list1包含关系:',word1 in list1)
print('列表p在list1包含关系:',list3 in list1)
环节四:序列相关的内置函数
序列相关的内置函数
函数
功能
len()
计算序列的长度,即返回序列中包含多少个元素。
max()
找出序列中的最大元素。注意,对序列使用 sum() 函数时,做加和操作的必须都是数字,不能是字符或字符串,否则该函数将抛出异常,因为解释器无法判定是要做连接操作(+ 运算符可以连接两个序列),还是做加和操作。
min()
找出序列中的最小元素。
list()
将序列转换为列表。
str()
将序列转换为字符串。
sum()
计算元素和。
sorted()
对元素进行排序。
reversed()
反向序列中的元素。
enumerate()
将序列组合为一个索引序列,多用在 for 循环中。
id()
计算内存地址
其中排序函数sorted(iterable, cmp=None, key=None, reverse=False)的参数比较复杂,它的参数说明如下:
1)iterable:需要进行排序的序列(list,tuple, set, map, string)等。
2)cmp:比较函数,一般为回调函数,默认的话,基础类型按值比较,对象成员按照地址比较,返回值 0: 两个数相等,1:第一个数大于第二个数,-1:第一个数小于第二个数。
3)key:用于比较的字段,一般为回调函数, 对于复杂的序列,设置用于比较的字段,返回值为比较的字段值。
4)reverse:是否翻转,默认为从