书签 分享 收藏 举报 版权申诉 / 57
上传文档赚钱

类型Python语言实用教程第4章-Python序列课件.ppt

  • 上传人(卖家):三亚风情
  • 文档编号:3515366
  • 上传时间:2022-09-10
  • 格式:PPT
  • 页数:57
  • 大小:1.51MB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《Python语言实用教程第4章-Python序列课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    Python 语言 实用教程 序列 课件
    资源描述:

    1、 序列(序列(Sequence)是指成员有序排列,并且可)是指成员有序排列,并且可以通过下标偏移量访问到它一个或几个成员的类型以通过下标偏移量访问到它一个或几个成员的类型统称。统称。序列是序列是Python语言特有的一类非常有用的数语言特有的一类非常有用的数据类型,它可以简单看成是其它语言中数组、结构据类型,它可以简单看成是其它语言中数组、结构体、字符串等类型构建出的复合类型,体、字符串等类型构建出的复合类型,它的类型层它的类型层次要高于其它语言的基本类型。为此,使用序列类次要高于其它语言的基本类型。为此,使用序列类型数据会非常便捷与实用。型数据会非常便捷与实用。Python序列可以包含大量复

    2、合数据类型,用于序列可以包含大量复合数据类型,用于组织形成其它数据结构。组织形成其它数据结构。学习重点和难点:学习重点和难点:序列的基本概念序列的基本概念 序列的通用操作序列的通用操作 列表的基本使用列表的基本使用 元组的基本使用元组的基本使用 字符串的基本使用字符串的基本使用 字典与集合的基本使用字典与集合的基本使用 学习本章后将可以方便地处理大量序列类型的学习本章后将可以方便地处理大量序列类型的数据,程序处理数据的能力将大大提高。数据,程序处理数据的能力将大大提高。4.1 序列序列4.2 列表列表4.3 元组元组4.4 范围范围range4.5 字符串字符串4.6 序列间的转换操作序列间的

    3、转换操作4.7 字典字典4.8 集合集合4.9 应用实例应用实例 序列是序列是PythonPython中基本的数据结构,也是中基本的数据结构,也是PythonPython的一类内置类型(的一类内置类型(Built-in TypeBuilt-in Type),内置类型就,内置类型就是构建在是构建在PythonPython解释器里面的类型,序列还可以理解释器里面的类型,序列还可以理解为是解为是PythonPython解释器里定义的某个类(解释器里定义的某个类(ClassClass)。)。列表(包括范围列表(包括范围(Range)(Range))和元组这两种数据类型)和元组这两种数据类型是最常被用到

    4、的序列,是最常被用到的序列,PythonPython内建序列共有六种,内建序列共有六种,除了列表和元组之外,还有字符串、除了列表和元组之外,还有字符串、UnicodeUnicode字符字符串、串、bufferbuffer对象和最后一种对象和最后一种xrangexrange对象,只是后对象,只是后3 3种不常使用而已。种不常使用而已。4.1.1 序列的概念序列的概念4.1.2 序列通用操作序列通用操作 数据结构是通过某种方式数据结构是通过某种方式(例如对元素进行编例如对元素进行编号号)组织在一起的数据元素的集合,这些数据元素组织在一起的数据元素的集合,这些数据元素可以是数字或者字符,甚至可以是其

    5、他数据结构可以是数字或者字符,甚至可以是其他数据结构。序列中的每个元素被分配一个序号:即元素的。序列中的每个元素被分配一个序号:即元素的位置,也称为索引。第一个索引是位置,也称为索引。第一个索引是 0,第二个则,第二个则是是 1,以此类推。序列中的最后一个元素标记为,以此类推。序列中的最后一个元素标记为-1,倒数第二个元素为,倒数第二个元素为-2,以此类推。,以此类推。本章主要讨论本章主要讨论列表列表、元组元组、范围范围(range)和和字字符串符串,其中列表是可以修改的,元组、范围和与,其中列表是可以修改的,元组、范围和与字符串则是不可修改的。字符串则是不可修改的。通用序列操作有:索引、分片

    6、、序列相加、乘通用序列操作有:索引、分片、序列相加、乘法、成员资格、长度、最小值和最大值。法、成员资格、长度、最小值和最大值。1、索引、索引 序列中所有的元素都是有编号的,序列中所有的元素都是有编号的,从从0开始递开始递增。可以通过编号分别对序列的元素进行访问。增。可以通过编号分别对序列的元素进行访问。Python的序列也可以从右边开始索引,最右边的一的序列也可以从右边开始索引,最右边的一个元素的索引为个元素的索引为-1,向左开始递减。,向左开始递减。greeting=Hello greeting2#l 为输出结果,下同为输出结果,下同 greeting-1#o stringtesting3#

    7、可以对任何一个字符串进行可以对任何一个字符串进行索引,该字符串第索引,该字符串第3个索引为个索引为i字符字符 fourth=raw_input(Year:)3#可以对输入的字可以对输入的字符串进行索引,本例表示想取输入的字符串索引为符串进行索引,本例表示想取输入的字符串索引为3的信息的信息Year:2014 fourth#4 greeting=Hello greeting2#l 为输出结果,下同为输出结果,下同 greeting-1#o stringtesting3#可以对任何一个字符串进行可以对任何一个字符串进行索引,该字符串第索引,该字符串第3个索引为个索引为i字符字符 fourth=ra

    8、w_input(Year:)3#可以对输入的字可以对输入的字符串进行索引,本例表示想取输入的字符串索引为符串进行索引,本例表示想取输入的字符串索引为3的信息的信息Year:2014 fourth#42、分片、分片 索引用来对单个元素进行访问,用分片可以对索引用来对单个元素进行访问,用分片可以对一定范围内的元素进行访问,分片通过冒号相隔的一定范围内的元素进行访问,分片通过冒号相隔的两个索引来实现。分片操作的实现需要提供两个索两个索引来实现。分片操作的实现需要提供两个索引作为边界,引作为边界,第一个索引的元素是包含在分片内的第一个索引的元素是包含在分片内的,第二个则不包含在分片内。,第二个则不包含

    9、在分片内。number=1,2,3,4,5,6,7,8,9,10 number2:4#3,4#取索引为第二和第三的元素取索引为第二和第三的元素 number-4:-1#7,8,9#负数表明是从右开始计数负数表明是从右开始计数 number4:-4#5,6#正负数同出现来框定分片范围正负数同出现来框定分片范围 number-4:#7,8,9,10#把第二个索引置空,表明包把第二个索引置空,表明包括到序列结尾的元素括到序列结尾的元素 number:3#1,2,3#同上,把第一个索引置空表明包含同上,把第一个索引置空表明包含序列开始的元素序列开始的元素 number0:10:1#在分片的时候,默认步

    10、长为在分片的时候,默认步长为1,这里指定步长为,这里指定步长为11,2,3,4,5,6,7,8,9,10 number0:10:2#这里指定步长为这里指定步长为2,这样就会跳过某些序列元素,这样就会跳过某些序列元素1,3,5,7,9 number10:0:-1#步长也可以是负数,但是第一个索引一定要大步长也可以是负数,但是第一个索引一定要大于第二个索引于第二个索引10,9,8,7,6,5,4,3,2#这里这里number10:0:-1等价于等价于number9:0:-1 number10:0:-2#10,8,6,4,2#这里这里number10:0:-2等等价于价于number9:0:-2 对

    11、于一个正数步长,对于一个正数步长,Python会从序列的会从序列的头部开始向右提取元素,直到最后一个元素头部开始向右提取元素,直到最后一个元素,而对于负数步长,则是从序列的尾部开始,而对于负数步长,则是从序列的尾部开始向左提取元素,直到第一个元素。向左提取元素,直到第一个元素。3、序列相加、序列相加 1,2,3+4,5,6#1,2,3,4,5,6#列表类型序列相加列表类型序列相加 Hello+World!#Hello World!#字符串类型序列相加字符串类型序列相加(1,2,3)+(4,5,6)#(1,2,3,4,5,6)#元组类型序列相加元组类型序列相加 1,2,3+Hello#出错了出错

    12、了Traceback(most recent call last):File,line 1,in TypeError:can only concatenate list(not str)to list 最后一个例子,试图列表和字符串进行相加,但是出错最后一个例子,试图列表和字符串进行相加,但是出错了,虽然他们都是序列,但是是不同数据类型,是不能相加了,虽然他们都是序列,但是是不同数据类型,是不能相加的。的。4、乘法、乘法 用数字用数字x剩以一个序列会生成新的序列,而在新的序列剩以一个序列会生成新的序列,而在新的序列中,序列将会被重复中,序列将会被重复x次。次。Python*4#PythonPy

    13、thonPythonPython None*4#None为为Python的内建值,这里创建长度的内建值,这里创建长度为为4的元素空间,但是什么元素也不包含:的元素空间,但是什么元素也不包含:None,None,None,None5、成员资格、成员资格 可以使用可以使用in运算符来检查一个值是否在运算符来检查一个值是否在序列中,如果在其中,就返回序列中,如果在其中,就返回Ture,如果不,如果不在,就返回在,就返回False。permission=rw r in permission#True x in permission#False6、长度、最小值和最大值、长度、最小值和最大值 内建函数内建

    14、函数len、min和和max分别返回序列所分别返回序列所包含的元素的数量、序列中的最小元素和序包含的元素的数量、序列中的最小元素和序列中的最大元素。列中的最大元素。number=2,3,4,5,6,7,8,9,10 len(number)#9 min(number)#2 max(number)#10 min(4,3,5)#3#函数的参数不用一定是序函数的参数不用一定是序列,也可以是多个数字列,也可以是多个数字 列表(列表(List)是最常用的是最常用的Python数据类型,列表数据类型,列表可以使用所有适用于序列的标准操作。列表的各个可以使用所有适用于序列的标准操作。列表的各个元素(或数据项)

    15、通过逗号分隔写在方括号内,列元素(或数据项)通过逗号分隔写在方括号内,列表的元素不需要具有相同的类型,其中列表元素本表的元素不需要具有相同的类型,其中列表元素本身也可以是列表。身也可以是列表。创建一个列表,只要把逗号分隔的不同元素使创建一个列表,只要把逗号分隔的不同元素使用方括号括起来即可。如下所示:用方括号括起来即可。如下所示:name=Clef,luo name0#Clef test=name,10#列表元素本身也是一个列表列表元素本身也是一个列表 test#Clef,luo,104.2.1 列表操作符与内置函数列表操作符与内置函数4.2.2 列表的基本操作列表的基本操作4.2.3 列表方

    16、法列表方法 对列表可使用对列表可使用+和和*的操作符。的操作符。+号用于组合号用于组合列表,列表,*号用于重复列表。号用于重复列表。对列表的函数有:对列表的函数有:1)cmp(list1,list2)比较两个列表的元素(仅比较两个列表的元素(仅Python 2.x可可用);用);2)len(list)列表元素个数;列表元素个数;3)max(list)返回列表元素最大值;返回列表元素最大值;4)min(list)返回列表元素最小值;返回列表元素最小值;5)list(seq)将元组转换为列表。其中,将元组转换为列表。其中,len、min和和max 前面已统一介绍。前面已统一介绍。列表元素使用下标索

    17、引来访问,索引号从列表元素使用下标索引来访问,索引号从0开始开始,还可以通过,还可以通过(:)分隔的索引段来分片截取列表中连分隔的索引段来分片截取列表中连续的一段元素。续的一段元素。1)更新列表:元素赋值)更新列表:元素赋值 2)删除元素:使用)删除元素:使用del语句语句 3)分片赋值)分片赋值列表方法的调用规则:列表对象列表方法的调用规则:列表对象.方法方法(参数参数)1)append方法方法list.append(obj):用于在列表末尾追加新的对象。:用于在列表末尾追加新的对象。numbers=1,2,3 numbers.append(4)#直接追加新的列表元素直接追加新的列表元素 n

    18、umbers#1,2,3,42)count方法方法list.count(obj):统计某个元素在列表中出现的次数。:统计某个元素在列表中出现的次数。numbers=1,2,1,2,3,4,2 numbers.count(2)#统计列表元素统计列表元素2出现的次数,这里为出现的次数,这里为33)extend方法方法 list.extend(seq):可以在列表的末尾一次性追加另一个:可以在列表的末尾一次性追加另一个序列中的多个值,这个方法很像序列相加,但是,序列中的多个值,这个方法很像序列相加,但是,extend方方法会改变列表的原始值,而序列相加不会。法会改变列表的原始值,而序列相加不会。a=

    19、1,2,3 b=4,5,6 a.extend(b)a#1,2,3,4,5,67)remove方法方法list.remove(obj):用于移除列表中某个值的第一个:用于移除列表中某个值的第一个匹配项。匹配项。x=1,2,3,2,4,5 x.remove(2)#只移除了列表中的第一个匹配到只移除了列表中的第一个匹配到2的元素的元素 x#1,3,2,4,58)reverse方法方法list.reverse():将列表中元素顺序全部反向。:将列表中元素顺序全部反向。x=1,2,3,4,5 x.reverse()x#5,4,3,2,110)高级排序)高级排序 如果不想按照如果不想按照sort方法默认的

    20、方式进行排序,方法默认的方式进行排序,可以通过可以通过compare(x,y)的形式自定义比较函数,的形式自定义比较函数,compare(x,y)函数会在函数会在xy是返回是返回正数,如果正数,如果x=y时则返回时则返回0,定义好该函数之后,就,定义好该函数之后,就可以提供给可以提供给sort方法作为参数了。同样,方法作为参数了。同样,key、reverse还是可以作为还是可以作为sort方法的参数。方法的参数。11)多维列表)多维列表 Python支持使用多维列表,就是列表的数据元素本支持使用多维列表,就是列表的数据元素本身也是列表。身也是列表。可以像创建普通列表一样创建多维列表,例如:可以

    21、像创建普通列表一样创建多维列表,例如:list33=1,2,3,4,5,6,7,8,9print(list33)#输出:输出:1,2,3,4,5,6,7,8,9 为了引用多维列表中的一个数据值,需要两个索为了引用多维列表中的一个数据值,需要两个索引号,一个是外层列表的,另外一个是元素列表的。引号,一个是外层列表的,另外一个是元素列表的。【例例4-1】随机产生随机产生20个个100以内的整数,以内的整数,存放在数组(即列表)中,找出其中的最大存放在数组(即列表)中,找出其中的最大数并指出其所在的位置。数并指出其所在的位置。分析:利用分析:利用random.randint(0,100)随机产随机产

    22、生生100以内的大于等于以内的大于等于0的整数。本题先用传的整数。本题先用传统数组元素比较查找的方法实现;再用列表统数组元素比较查找的方法实现;再用列表内置函数来非常便捷实现本例功能。内置函数来非常便捷实现本例功能。元组(元组(Tuple)与列表一样,也是一种序)与列表一样,也是一种序列,唯一的不同就是元组不能修改。创建元列,唯一的不同就是元组不能修改。创建元组很简单,用逗号隔开一些值,就自动创建组很简单,用逗号隔开一些值,就自动创建了元组,元组大部分的时候是通过圆括号括了元组,元组大部分的时候是通过圆括号括起来的。元组的基本操作可以参考:起来的。元组的基本操作可以参考:Python序列的通用

    23、操作。序列的通用操作。1,2,3#(1,2,3)(4,5,6)#(4,5,6)4.3.1 元组创建与访问元组创建与访问4.3.2 元组操作符与函数元组操作符与函数4.3.3 元组的基本操作元组的基本操作 元组创建很简单,只需要在括号中添加元素,并元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可。例如:使用逗号隔开即可。例如:tup1=(physics,chemistry,1997,2000);tup2=(1,2,3,4,5);tup3=a,b,c,d;创建空元组,创建空元组,tup1=();#空元组,不包含任何元空元组,不包含任何元素元组中只包含一个元素时,需要在元素后面添加逗素元组

    24、中只包含一个元素时,需要在元素后面添加逗号,号,tup1=(50,);元组与列表、字符串等都类似,下标索引从元组与列表、字符串等都类似,下标索引从0开始开始,可以进行截取、组合等操作。,可以进行截取、组合等操作。对元组与列表一样,可使用对元组与列表一样,可使用+和和*的操作符。的操作符。+号用于组合元组,号用于组合元组,*号用于重复元组。对元组操作号用于重复元组。对元组操作的 函 数 基 本 可 以 参 照 操 作 列 表 的 函 数,有的 函 数 基 本 可 以 参 照 操 作 列 表 的 函 数,有cmp(tuple1,tuple2)、len(tuple)、max(tuple)、min(t

    25、uple)、tuple(seq)等,唯一不同的是把等,唯一不同的是把list(seq)改为改为tuple(seq),tuple(seq)函数是把序列转换为元组函数是把序列转换为元组,其它函数的含义同对列表的函数。,其它函数的含义同对列表的函数。1)修改元组)修改元组 元组中的元素值是不允许修改的,但我们可以对元元组中的元素值是不允许修改的,但我们可以对元组进行连接组合,如下实例:组进行连接组合,如下实例:tup1,tup2=(12,34.56),(abc,xyz);#tup10=100;#本修改元组元素的操作是非法的本修改元组元素的操作是非法的 tup3=tup1+tup2;#创建一个新的元组

    26、创建一个新的元组 print(tup3);#(12,34.56,abc,xyz)范围(范围(Range)类型表示一个不可变的数字类型表示一个不可变的数字序列,通常用于序列,通常用于for循环中来控制循环次数。某循环中来控制循环次数。某种意义上范围可以看成是列表的子集,但不同种意义上范围可以看成是列表的子集,但不同于列表它是不可修改的。范围由于列表它是不可修改的。范围由range()函数来函数来定义,其语法是:定义,其语法是:range(stop)或或 range(start,stop,step)range函数是一个用来创建算数级数序列的函数是一个用来创建算数级数序列的通用函数,返回一个通用函数

    27、,返回一个start,start+step,start+2*step,.结构的整数序列。结构的整数序列。range函数具有一些特性:函数具有一些特性:1)如果)如果step参数缺省,默认参数缺省,默认1;如果;如果start参数参数缺省,默认缺省,默认0。2)如果)如果step是正整数,则最后一个元素(是正整数,则最后一个元素(start+i*step)小于)小于stop。3)如果)如果step是负整数,则最后一个元素(是负整数,则最后一个元素(start+i*step)大于)大于stop。4)step参数必须是非零整数,否则抛出参数必须是非零整数,否则抛出VauleError异常。异常。注意

    28、注意:range函数返回一个函数返回一个左闭右开左闭右开(left,right))的序列数。)的序列数。下面是一些使用下面是一些使用range()函数的例子:函数的例子:range(10)#0,1,2,3,4,5,6,7,8,9 range(1,10)#1,2,3,4,5,6,7,8,9 range(1,10,1)#1,2,3,4,5,6,7,8,9 range(1,10,3)#1,4,7 range(0,-10,-1)#0,-1,-2,-3,-4,-5,-6,-7,-8,-9 range(0)#range(1,0)#r=range(5)type(r)#字符串是最字符串是最 Python 总常

    29、用的数据类型。总常用的数据类型。字符串可以使用所有字符串可以使用所有通用的序列操作通用的序列操作,字符,字符串与元组一样,同样是不可变的序列。关于串与元组一样,同样是不可变的序列。关于字符串前面已有表达与使用,这里来更全面字符串前面已有表达与使用,这里来更全面的介绍。的介绍。4.5.1 字符串创建与访问字符串创建与访问4.5.2 字符串操作符字符串操作符4.5.3 字符串方法字符串方法1、创建与访问、创建与访问 可以使用引号来创建字符串。创建字符串很简单,可以使用引号来创建字符串。创建字符串很简单,只要为变量分配一个值即可。只要为变量分配一个值即可。Python不支持单字符类不支持单字符类型,

    30、单字符型,单字符Python也是作为一个字符串使用。也是作为一个字符串使用。Python访问子字符串,可以使用方括号来截取字符访问子字符串,可以使用方括号来截取字符串,如下实例:串,如下实例:var1=Hello World!var2=Python Programming print(var10:,var10)#var10:Hprint(var21:5:,var21:5)#var21:5:ytho 2、Python转义字符转义字符在需要在字符中使用特殊字符时,在需要在字符中使用特殊字符时,Python用反斜杠用反斜杠()转转义字符,如表义字符,如表1-1、表、表1-2。3、字符串常量、字符串常

    31、量下面是下面是string模块中的字符串常量(模块中的字符串常量(Python 3.6中的):中的):string.digits:包含数字:包含数字09的字符串的字符串string.ascii_letters:包含所有字母:包含所有字母(大写或小写大写或小写)的字符串的字符串string.ascii_lowercase:包含所有小写字母的字符串:包含所有小写字母的字符串string.printable:包含所用可打印字符的字符串:包含所用可打印字符的字符串string.punctuation:包含所有标点的字符串:包含所有标点的字符串string.ascii_uppercase:包含所有大写字

    32、母的字符串:包含所有大写字母的字符串string.hexdigits:包含数字:包含数字09a-fA-F的的16进制数字字符进制数字字符串串string.octdigits:包含数字:包含数字07的的8进制数字字符串进制数字字符串string.whitespace:包含全部空白的:包含全部空白的ASCII字符串字符串 tnrx0bx0c字母字符串常量具体值取决于字母字符串常量具体值取决于Python所配置的语言,所配置的语言,如果可以确定自己使用的是如果可以确定自己使用的是ASCII,那么可以在变量中,那么可以在变量中使用使用ascii_前缀,例如前缀,例如string.ascii_lette

    33、rs。4、Python三引号三引号 Python中三引号(中三引号(triple quotes)可以将复杂的字符)可以将复杂的字符串进行复制。串进行复制。Python三引号允许一个字符串跨多行,字三引号允许一个字符串跨多行,字符串中可以包含换行符、制表符以及其他特殊字符。符串中可以包含换行符、制表符以及其他特殊字符。三引号的语法是一对连续的三引号的语法是一对连续的3个单引号或者个单引号或者3个双引个双引号(通常都是成对的用)。号(通常都是成对的用)。hi=hi there hi#repr()函数的效果(函数的效果(print(repr(hi)):):hinthere print(hi)#str

    34、()函数的效果(函数的效果(print(str(hi)):):hi there 5、Unicode 字符串字符串 Python 中定义一个中定义一个 Unicode 字符串和定义一个普通字符串和定义一个普通字符串一样简单:字符串一样简单:uHello World!#uHello World!引号前小写的引号前小写的u表示这里创建的是一个表示这里创建的是一个 Unicode 字符字符串。如果你想加入一个特殊字符,可以使用串。如果你想加入一个特殊字符,可以使用 Python 的的 Unicode-Escape 编码(即字符的编码(即字符的Unicode编码格式)。编码格式)。如下例所示:如下例所示

    35、:uHellou0020World!#uHello World!被替换的被替换的u0020标识表示在给定位置插入编码值为标识表示在给定位置插入编码值为0 x0020的的Unicode字符(空格符)。字符(空格符)。操作符操作符描述描述实例实例+字符串连接a +b 输 出 结 果:HelloPython*重复输出字符串a*2 输 出 结 果:HelloHello通过索引获取字符串中字符a1 输出结果 e:截取字符串中的一部分a1:4 输出结果ellin成员运算符-如果字符串中包含给定的字符返回 TrueH in a 输出结果 1not in 成员运算符-如果字符串中不包含给定的字符返回 True

    36、M not in a 输出结果 1r/R原始字符串-原始字符串:所有的字符串都是直接按照字面的意思来使用,没有转义特殊或不能打印的字符。原始字符串除在字符串的第一个引号前加上字母r(可以大小写)以外,与普通字符串有着几乎完全相同的语法。p r i n t(r n )和 print(Rn),均输出n%格式字符串见一下章节 1、字符串运算符、字符串运算符 下表下表4-1是字符串运算符表,其中设变量是字符串运算符表,其中设变量a值为字符串值为字符串Hello,b值为值为Python:2、字符串、字符串“更新更新”可以对已存在的字符串进行修改,并赋值可以对已存在的字符串进行修改,并赋值给另一个变量,例

    37、如:给另一个变量,例如:var1=Hello World!print(Updated String:-,var1:6+Python)执行结果:执行结果:Updated String:-Hello Python 3、字符串格式化、字符串格式化 Python 支持格式化字符串的输出。尽管这样可能会用到支持格式化字符串的输出。尽管这样可能会用到非常复杂的表达式,但最基本的用法是将一个值插入到一非常复杂的表达式,但最基本的用法是将一个值插入到一个有格式符个有格式符%s 的格式字符串中。在的格式字符串中。在 Python 中,字符串格中,字符串格式化使用与式化使用与 C语言中语言中 sprintf 函数

    38、一样的语法。例如:函数一样的语法。例如:print(My name is%s and weight is%d kg!%(Zara,21)输出结果:输出结果:My name is Zara and weight is 21 kg!%.5s%Guido van Rossum#Guido#5表示最大字段宽度表示最大字段宽度 from math import pi%10.2f%pi#3.14#字段宽度为字段宽度为10,精度为,精度为2%.*s%(5,Guido van Rossum)#Guido#使用使用*,表示从,表示从元组参数中读取字符宽度或者精度,这里为字符宽度为元组参数中读取字符宽度或者精度,

    39、这里为字符宽度为5 字符串方法(又叫字符串内置函数)实现了字符串方法(又叫字符串内置函数)实现了string模块的大部分方法。详细的字符串方法及其描述略模块的大部分方法。详细的字符串方法及其描述略,这里只介绍几个很常用的方法。其它方法的使用,这里只介绍几个很常用的方法。其它方法的使用请参照帮助(请参照帮助(https:/docs.Python.org/3.6/library/stdtypes.html#textseq)。目前字符串内建支持的)。目前字符串内建支持的方法,都包含了对方法,都包含了对Unicode的支持,有一些甚至是专的支持,有一些甚至是专门用于门用于Unicode的。的。请注意:

    40、字符串方法都是返回修改后的字符串,请注意:字符串方法都是返回修改后的字符串,本身原字符串并没有改变。本身原字符串并没有改变。1、find方法方法2、join方法方法3、lower方法方法4、replace方法方法5、split方法方法 6、strip方法方法具体方法使用,详见书本。Python列表、元组和字符串,它们之间的互相转换使列表、元组和字符串,它们之间的互相转换使用三个函数用三个函数str(),tuple()和和list()。具体示例如下所示:。具体示例如下所示:s=xxxxx list(s)#x,x,x,x,x tuple(s)#(x,x,x,x,x)tuple(list(s)#(x

    41、,x,x,x,x)tuple(1:2,3:4)#(1,3)#针对字典针对字典(见下节见下节)会返回字典的会返回字典的key组成的组成的tuple list(tuple(s)#x,x,x,x,x 列表和元组转换为字符串则必须依靠列表和元组转换为字符串则必须依靠join函数。函数。.join(tuple(s)#xxxxx.join(list(s)#xxxxx str(tuple(s)#(x,x,x,x,x)字典(字典(dict)由键和对应值成对组成。字典也由键和对应值成对组成。字典也被称作关联数组或哈希表。被称作关联数组或哈希表。如果想将值分组到一个结构中,并且通过编号如果想将值分组到一个结构中,

    42、并且通过编号对其进行引用,对其进行引用,列表列表就能派上用场了。字典是一种就能派上用场了。字典是一种通过名字引用值的通过名字引用值的数据结构数据结构,字典中的值并没有特,字典中的值并没有特殊的顺序,但是都是存储在一个特定的键殊的顺序,但是都是存储在一个特定的键(Key)里,里,键可以是数字、字符串或者元组等。例如:键可以是数字、字符串或者元组等。例如:dict=Alice:2341,Beth:9102,Cecil:32584.7.1 字典创建与访字典创建与访问问4.7.2 字典基本操作字典基本操作符符4.7.3 字典方法字典方法 字典是由字典是由多个键多个键及及与其对应的值构成的对组成与其对应

    43、的值构成的对组成(键键/值值对称为项对称为项),每个键和它的值之间用,每个键和它的值之间用冒号冒号(:)隔开,项之间隔开,项之间用用逗号逗号(,)隔开,而整个字典是由一对隔开,而整个字典是由一对大括号大括号括起来,空括起来,空字典字典(不包括任何项不包括任何项)由两个大括号组成,由两个大括号组成,字典中的键是唯字典中的键是唯一的,而值并不唯一。一的,而值并不唯一。phonebook=Alice:2341,Beth:9102,Cecil:3258#定义字典定义字典也可以通过也可以通过dict函数来建立字典函数来建立字典 items=(name,Gumby),(age,42)d=dict(item

    44、s)#通过通过dict函数来建立映射关系函数来建立映射关系 d#age:42,name:Gumby dd=dict(name=Clef,age=42)#由由dict函数来建立映函数来建立映射关系的另一种表达射关系的另一种表达 dd#age:42,name:Clef下面的例子都是创建字典下面的例子都是创建字典one:1,two:2,three:3:a=dict(one=1,two=2,three=3)b=one:1,two:2,three:3 c=dict(zip(one,two,three,1,2,3)d=dict(two,2),(one,1),(three,3)e=dict(three:3,

    45、one:1,two:2)a=b=c=d=e#True#注意:注意:a=b=c等价等价于于a=b and b=c 访问字典里的值,把相应的键放入字典后的方括弧,访问字典里的值,把相应的键放入字典后的方括弧,如下实例:如下实例:dict=Name:Zara,Age:7,Class:First;print(dictName:,dictName);#dictName:Zara print(dictAge:,dictAge);#dictAge:7如果用字典里没有的键访问数据,则会出错的。如果用字典里没有的键访问数据,则会出错的。1、字典的基本操作行为、字典的基本操作行为 字典的基本行为在很多方面与字典的

    46、基本行为在很多方面与序列序列(sequence)类似:类似:(1)len(d)返回返回d中项中项(键键-值对值对)的数量的数量dict=Name:Zara,Age:7;print(Length:%d%len(dict)#Length:2(2)dk返回关联到键返回关联到键k上的值上的值(3)dk=v将值将值v关联到键关联到键k上上dict=Name:Zara,Age:7,Class:First;dictAge=8;#修改存在的键值修改存在的键值dictSchool=DPS School;#键不存在时,添加新的项键不存在时,添加新的项print(dictAge:,dictAge);#dictAge

    47、:8print(dictSchool:,dictSchool);#dictSchool:DPS School(4)del dk删除键为删除键为k的项的项 能删单一的元素也能清空字典,清空只需一项操作。能删单一的元素也能清空字典,清空只需一项操作。del dictName;#删除键是删除键是Name的项的项dict.clear();#清空字典所有条目清空字典所有条目del dict;#删除字典删除字典(5)k in d检查检查d中是否有含有键为中是否有含有键为k的项,的项,key not in d等价于等价于not k in d。(6)cmp()与与str()函数函数 1)cmp()函数比较两个

    48、字典元素。语法:函数比较两个字典元素。语法:cmp(dict1,dict2)2)str()函数将值转化为适合于人阅读的形式函数将值转化为适合于人阅读的形式 字典值可以没有限制地取任何字典值可以没有限制地取任何Python对象。两个重要的点对象。两个重要的点 需要特别注意:需要特别注意:1)不允许同一个键出现两次。创建时如果同一个键被赋)不允许同一个键出现两次。创建时如果同一个键被赋值两次,后一个值会被记住,如下实例:值两次,后一个值会被记住,如下实例:dict=Name:Zara,Age:7,Name:Manni;print(dictName:,dictName);#dictName:Mann

    49、i 2)键必须不可变,所以可以用数、字符串或元组充当,但)键必须不可变,所以可以用数、字符串或元组充当,但用列表就不行,例如:用列表就不行,例如:dict=Name:Zara,Age:7;print(dictName:,dictName);输出结果:输出结果:Traceback(most recent call last):File test.py,line 3,in dict=Name:Zara,Age:7;TypeError:list objects are unhashable1、fromkeys方法方法2、get方法方法3、fromkeys方法方法4、get方法方法5、has_key方

    50、法方法6、items方法和方法和iteritems方法方法7、iter函数函数8、keys方法和方法和iterkeys方法方法9、pop方法方法10、popitem方法方法11、setdefault方法方法12、update方法方法13、values方法和方法和itervalues方法方法具体使用详见书本 集合(集合(Set)是一组无序的不同的元素的集合。是一组无序的不同的元素的集合。它有它有可变集合可变集合(set()和和不可变集合不可变集合(frozenset()两种两种。集合常用于:成员测试、删除重复值以及计算集。集合常用于:成员测试、删除重复值以及计算集合并、交、差和对称差等数学运算。

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:Python语言实用教程第4章-Python序列课件.ppt
    链接地址:https://www.163wenku.com/p-3515366.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库