第六章数据结构ppt课件.ppt
《第六章数据结构ppt课件.ppt》由会员分享,可在线阅读,更多相关《第六章数据结构ppt课件.ppt(114页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、2022-6-51 概述概述 序列通用操作序列通用操作 字符串字符串 列表列表 元组元组 字典字典 集合集合2022-6-52 Python提供了功能强大的内置数据结构提供了功能强大的内置数据结构。包括:。包括:字符串字符串列表列表元组元组字典字典集合集合2022-6-53序列序列 Python中,字符串、列表和元组都属于中,字符串、列表和元组都属于序列。序列。 序列有一些通用的操作。包括:索引(序列有一些通用的操作。包括:索引(indexing)、切片()、切片(slicing)、加()、加(adding)、乘()、乘(multiplying)、检查)、检查某个元素是否属于序列的成员(成员资
2、格某个元素是否属于序列的成员(成员资格)、计算序列长度、找出最大元素和最小)、计算序列长度、找出最大元素和最小元素等。元素等。2022-6-54标准类型运标准类型运算符算符 值比较值比较 对象身份比对象身份比较较 布尔运算布尔运算序列类型运序列类型运算符算符 获取获取 重复重复 连接连接 判断判断内建函数内建函数 序列类型转序列类型转换工厂函数换工厂函数 序列类型可序列类型可用内建函数用内建函数2022-6-552022-6-562022-6-572022-6-58 序列中的所有元素都有编号。从序列中的所有元素都有编号。从0开始递增。这开始递增。这些元素可以通过编号分别访问。索引有正索引和些元
3、素可以通过编号分别访问。索引有正索引和负索引,可根据实际情况选用。负索引,可根据实际情况选用。 例如:字符串例如:字符串apple的正索引和负索引的正索引和负索引2022-6-592022-6-510list() str() tuple()2022-6-5112022-6-512 说明:在循环中引用相关函数,可以高效地得出相应说明:在循环中引用相关函数,可以高效地得出相应结果。结果。2022-6-513 例:同时获取序列索引及值例:同时获取序列索引及值 例:同时循环两个或多个序列例:同时循环两个或多个序列2022-6-514 例:逆向循环序列例:逆向循环序列 例:按排序后的顺序循环序列例:按排
4、序后的顺序循环序列 在在Python中,字符串是除数字外最重要的数据类型中,字符串是除数字外最重要的数据类型。字符串无处不在:将字符串输出到屏幕上;从用户。字符串无处不在:将字符串输出到屏幕上;从用户的键盘输入读取字符串;文件通常被视为大型字符串的键盘输入读取字符串;文件通常被视为大型字符串;网页大部分是由文本组成的。;网页大部分是由文本组成的。 可充分利用索引和切片可充分利用索引和切片用于从字符串中提取子串。用于从字符串中提取子串。 虽然虽然Python字符串提供了众多实用的函数,但实际字符串提供了众多实用的函数,但实际处理字符串时,常常需要更强大的工具。处理字符串时,常常需要更强大的工具。
5、Python提提供了一种用于复杂字符串处理的微型语言供了一种用于复杂字符串处理的微型语言正则表达正则表达式,但式,但正则表达式并不是正则表达式并不是Python的一部分。的一部分。2022-6-5152022-6-5162022-6-517 C语言使用函数语言使用函数printf()格式化输出结果,格式化输出结果,Python也提供了类似功能。也提供了类似功能。 Python将若干值插入带有将若干值插入带有“%”标记的字符串标记的字符串中,从而可以按照指定格式输出字符串。中,从而可以按照指定格式输出字符串。 语法:语法: %s % str1 %s %s % (str1, str2)2022-6
6、-5182022-6-519执行结果:执行结果:2022-6-520执行结果:执行结果:符号符号描述描述符号符号描述描述%c格式化字符及其格式化字符及其ASCII码码%f格式化浮点数字,可指定小数格式化浮点数字,可指定小数点后的精度点后的精度%s格式化字符串格式化字符串%e用科学计数法格式化浮点数用科学计数法格式化浮点数%d格式化整数格式化整数%E作用同作用同%e%u格式化无符号整数格式化无符号整数%g根据值的大小决定使用根据值的大小决定使用%f或或%e%o格式化无符号八进制数格式化无符号八进制数%G作用同作用同%g%x格式化无符号十六进制数格式化无符号十六进制数%p用十六进制数格式化变量的地
7、用十六进制数格式化变量的地址址%X格式化无符号十六进制数(大格式化无符号十六进制数(大写)写)%若在字符串中输出若在字符串中输出“%”,需,需要使用要使用“%”2022-6-521 在字段宽度和精度之间还可以放置一个在字段宽度和精度之间还可以放置一个“标志标志”,该标志,该标志可以是零、加号、减号或空格。零表示数字将会用可以是零、加号、减号或空格。零表示数字将会用0填充。填充。2022-6-522执行结果执行结果: 计算机中存在可见字符与不可见字符。可见计算机中存在可见字符与不可见字符。可见字符指键盘上的字母、数字和符号。不可见字符指键盘上的字母、数字和符号。不可见字符是指换行、回车、制表符等
8、字符。字符是指换行、回车、制表符等字符。 对于不可见字符,对于不可见字符,Python使用的方法类似使用的方法类似于于C语言,都是使用语言,都是使用“”作为转义字符。作为转义字符。 Python还提供了函数还提供了函数strip()、lstrip()、rstrip()去除字符串中的转义字符。去除字符串中的转义字符。2022-6-523符号符号描述描述符号符号描述描述反斜线反斜线v纵向制表符纵向制表符单引号单引号r回车符回车符”双引号双引号f换页符换页符a发出系统响铃声发出系统响铃声o八进制数代表的字符八进制数代表的字符b退格符退格符x十六进制数代表的字符十六进制数代表的字符n换行符换行符000
9、终止符,其后的字符串全部忽略终止符,其后的字符串全部忽略t横向制表符横向制表符2022-6-5242022-6-525执行结果:执行结果: Python字符串自带了大量很有用的方法(字符字符串自带了大量很有用的方法(字符串类内定义的函数),可调用串类内定义的函数),可调用dir并将参数指定为并将参数指定为任何字符串(如:任何字符串(如:dir( ))来查看它们。)来查看它们。 虽无必要准确记住所有字符串方法功能,但最好虽无必要准确记住所有字符串方法功能,但最好有个大致了解,这样有益于需要时去查询具体使有个大致了解,这样有益于需要时去查询具体使用。用。 字符串方法的详细介绍可参阅其文档字符串或字
10、符串方法的详细介绍可参阅其文档字符串或Python在线文档(在线文档(https:/docs.python.org/3/)。)。 此处介绍常用的字符串方法。此处介绍常用的字符串方法。2022-6-5262022-6-527方法名方法名何时返回何时返回True方法名方法名何时返回何时返回Trues.endswith(t)s以字符串以字符串t结尾结尾s.islower()s只包含小写字母只包含小写字母s.startswith(t) s以字符串以字符串t打头打头s.isnumeric()s只包含数字只包含数字s.isalnum()s只包含字母和数只包含字母和数字字s.isprintable()s只包
11、含可打印字只包含可打印字符符s.isalpha()s只包含字母只包含字母s.isspace()s只包含空白字符只包含空白字符s.isdecimal()s只包含表示十进只包含表示十进制数字的字符制数字的字符s.istitle()s是个大小写符合是个大小写符合标题要求的字符串标题要求的字符串s.isdigit()s只包含数字字符只包含数字字符s.isupper()s只包含大写字母只包含大写字母s.isidentifier()s是合法的标识符是合法的标识符t in ss包含字符串包含字符串t2022-6-528 用于检测字符串是否为特定格式,它们组成了一个最大的用于检测字符串是否为特定格式,它们组成
12、了一个最大的字符串方法组。字符串方法组。 测试方法的值都返回测试方法的值都返回True或或False。2022-6-529方法名方法名返回值返回值s.find(t)若未找到字符串若未找到字符串t,则返回,则返回-1;否则返回;否则返回t在在s中的起始位置中的起始位置s.rfind(t)与与find相同,但从右往左查找相同,但从右往左查找s.index(t)与与find相同,但如果在相同,但如果在s中找不到中找不到t,则,则引发引发ValueError异常异常s.rindex(t)与与index相同,但从右往左查找相同,但从右往左查找2022-6-530 说明:方法说明:方法index和和fin
13、d之间的差别在于没有找到指定之间的差别在于没有找到指定子串的情形。方法子串的情形。方法index引发异常引发异常ValueError,而方,而方法法find将返回将返回-1。2022-6-531方法名方法名返回的字符串返回的字符串s.replace(old,new) 将将s中的每个中的每个old替换为替换为news.expandtabs(n)将将s中的每个制表符扩展为空格,空格宽度为中的每个制表符扩展为空格,空格宽度为n2022-6-532 Python字符串自带了两个替换方法,如下表所字符串自带了两个替换方法,如下表所示。示。 注意:使用替换方法可轻松地删除字符串中的子注意:使用替换方法可轻
14、松地删除字符串中的子串。串。2022-6-533方法名方法名返回的字符串返回的字符串s.partition(t)将将s拆分为三个字符串(拆分为三个字符串(head、t和和tail),其中),其中head为为t前面的子串,前面的子串,tail为为t后面的子串。返回值为后面的子串。返回值为元组元组s.rpartition(t)与与partition相同,但从相同,但从s的右端开始搜索的右端开始搜索t。返回值。返回值为元组为元组s.split(t)以以t为分隔符,将为分隔符,将s划分成一系列子串,并返回一个由划分成一系列子串,并返回一个由这些子串组成的列表这些子串组成的列表s.rsplit(t)与与
15、split相同,但从相同,但从s的右端开始搜索的右端开始搜索ts.splitlines()返回一个由返回一个由s中的各行组成的列表中的各行组成的列表2022-6-534 拆分方法将字符串拆分成多个子串。如下表所示。拆分方法将字符串拆分成多个子串。如下表所示。2022-6-535执行结果:执行结果:2022-6-536执行结果:执行结果:方法名方法名返回的字符串返回的字符串s.capitalize()将将s0改为大写,其余小写改为大写,其余小写s.lower()让让s的所有字母都小写的所有字母都小写s.upper()让让s的所有字母都大写的所有字母都大写s.swapcase()将小写字母改为大写
16、,并将大写字母改为小写将小写字母改为大写,并将大写字母改为小写s.title()让让s的大小写符合标题的要求的大小写符合标题的要求2022-6-537 说明:在以上函数中,说明:在以上函数中,Python都创建并返回一个新字符都创建并返回一个新字符串,串,Python不会真正修改原字符串。不会真正修改原字符串。2022-6-538 如从网络上下载的类似如下形式的一些句如从网络上下载的类似如下形式的一些句子:子: What do you think of this saying No pain, No gain? 对于句子中双引号中的内容,首先判断其对于句子中双引号中的内容,首先判断其是否满足标
17、题格式,不管满足与否最终都是否满足标题格式,不管满足与否最终都将其转换为标题格式输出。将其转换为标题格式输出。 2022-6-5392022-6-540方法名方法名返回的字符串返回的字符串s.center(n,ch)包含包含n个字符的字符串,其中个字符的字符串,其中s位于中间,两边用字符位于中间,两边用字符ch填充填充s.ljust(n,ch)包含包含n个字符的字符串,其中个字符的字符串,其中s位于左边,右边用字符位于左边,右边用字符ch填充填充s.rjust(n,ch)包含包含n个字符的字符串,其中个字符的字符串,其中s位于右边,左边边用字位于右边,左边边用字符符ch填充填充s.format
18、(vars)包含用于设置字符串格式的微型语言,详见:包含用于设置字符串格式的微型语言,详见:https:/docs.python.org/3.4/library/string.html#formatspec2022-6-5412022-6-542执行结果:执行结果:方法名方法名返回的字符串返回的字符串s.strip(ch)从从s开头和末尾删除所有包含在字符串开头和末尾删除所有包含在字符串ch中的字符中的字符s.lstrip(ch)从从s开头(左端)删除所有包含在字符串开头(左端)删除所有包含在字符串ch中的字符中的字符s.rstrip(ch)从从s末尾(右端)删除所有包含在字符串末尾(右端)删
19、除所有包含在字符串ch中的字符中的字符2022-6-543 剥除方法用于删除字符串开头或末尾多余的字符。如下表剥除方法用于删除字符串开头或末尾多余的字符。如下表所示。所示。 默认情况下,剥除空白字符;如果指定了字符串参数,则默认情况下,剥除空白字符;如果指定了字符串参数,则剥除该字符串中的字符(空白字符包括:空格本身、回车剥除该字符串中的字符(空白字符包括:空格本身、回车r、回车换行、回车换行n、制表符、制表符t、换页符、换页符f)。)。2022-6-5442022-6-545 Python直接使用直接使用“=”“”“!=”操作符比较两操作符比较两个字符串的内容。个字符串的内容。 若要比较字符
20、串的部分内容,可以先截取子串,若要比较字符串的部分内容,可以先截取子串,再使用再使用“=”“”“!=”操作符进行比较。操作符进行比较。 若要比较字符串的开头和结尾部分,更方便的方若要比较字符串的开头和结尾部分,更方便的方式是使用式是使用startswith()或或endswith()函数。函数。 startswith()与与endswith()的声明为:的声明为: startswith(substring, start ,end) endswith(substring, start ,end)2022-6-5462022-6-547执行结果:执行结果: 之前介绍过,之前介绍过,Python可使
21、用可使用“+”连接不连接不同的字符串。同的字符串。 除此之外,还可以使用除此之外,还可以使用join方法(是方法(是split方法的逆方法)和方法的逆方法)和reduce函数实现字符串函数实现字符串的合并。的合并。 说明:说明:reduce是是functools模块中的函模块中的函数。数。2022-6-5482022-6-549执行结果:执行结果:2022-6-550执行结果:执行结果: 在实际应用中,经常需要将日期类型与字在实际应用中,经常需要将日期类型与字符串类型互相转换。符串类型互相转换。 Python提供了提供了time模块处理日期和时间模块处理日期和时间。函数。函数strftime(
22、)可以实现从时间到字符可以实现从时间到字符串的转换。串的转换。 字符串到时间的转换要进行两次转换,需字符串到时间的转换要进行两次转换,需要使用要使用time模块和模块和datetime类。类。2022-6-551 声明:声明: strftime(format, tuple)-string 说明:说明: 参数参数format表示格式化日期的特殊字符。例如:表示格式化日期的特殊字符。例如:“%Y-%m-%d”相当于相当于“yyyy-MM-dd”. 参数参数tuple表示需要转换的时间,用元组存储。元组中表示需要转换的时间,用元组存储。元组中的元素分别表示年、月、日、时、分、秒。的元素分别表示年、月
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第六 数据结构 ppt 课件
限制150内