Python - 北京大学数学科学学院.PDF

  1. 1、本文档共16页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Python - 北京大学数学科学学院

3,字符串 字符串的相关概念 Python 字符串(回顾) 字符串匹配和算法 进一步的模式匹配问题 正则表达式 Python 的正则表达式 应用举例 数据结构和算法(Python 语言版):字符串 裘宗燕,2014-10-26-/1/ 字符串 讨论字符串,首先要有一个确定的字符集 “字符”是一个抽象概念,字符集是有穷的一组字符构成的集合 人们经常考虑在计算机里使用的的标准字符集,实际上,完全可以 拿任意数据元素的集合作为字符集 字符串 (简称串)是特殊的线性表,表中元素取值选定的字符集 其不同于一般表的特点是支持一组以串为对象的操作 长度:串中字符的个数称为串的长度 长度为0 的串称为空串 在任意一个字符集里,只有唯一的一个空串 与一般的表类似: 字符串里的字符顺序排列,串里的每个字符有其确定位置 我们用0 开始的自然数表示位置 数据结构和算法(Python 语言版):字符串 裘宗燕,2014-10-26-/2/ 字符串 串相等:串的相等基于字符集里的字符定义 s1 和s2 相等,如果其长度相等,而且对应位置的各对字符分别相同 假定字符集中的字符有一个全序,串的字典序定义如下: 对于串 s a a La , s b b Lb 1 0 1 n−1 2 0 1 m−1 定义s < s ,如果存在一个k 使a = b (i = 0,1, … k-1) 而且a < b 1 2 i i k k 或者n < m 而且对i = 0,1, … n-1 都有a = b i i 显然,字典序是字符串集合上的一个全序 串与串的最重要运算是拼接(concatenate) 上面s1 和s2 的拼接是串 s a a La b b Lb 0 1 n−1 0 1 m−1 显然,s 的长度等于s1 和s2 的长度之和 在Python 里拼接运算用+ 表示 数据结构和算法(Python 语言版):字符串 裘宗燕,2014-10-26-/3/ 字符串 两个串之间还有一个重要的关系是“子串关系” 称s1 为s2 的一个子串,如果存在两个串s 和s' 使下式成立 s2 = s + s1 + s' (借用Python 的写法) 子串也是串。直观看,子串是原串中连续的一段字符序列形成的串。 显然,一个串可以是或者不是另一个串的子串 如果s1 是s2 的子串,也说s1 在s2 里出现,称s2 里与s1 相同的 字符段的第一个字符的位置为s1 在s2 里出现的位置 s2 里可能出现多个与s1 相同的段,这时说s1 在s2 里多次出现 注意:s1 在s2 中的多个出现可能不独立,相互重叠。例如 babb 在babbabbbbabb 里有三个出现,前两个有重叠 根据定义,很显然,空串是任何字符串的子串;另一方面,任何字符串 s 也都是该串本身的子串 数据结构和算法(Python 语言版):字符串 裘宗燕,2014-10-26-/4/ 字符串 两种特殊子串: 如果存在s' 使s2 = s

文档评论(0)

ldj215322 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档