ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

字符串构造

2022-07-28 17:05:33  阅读:228  来源: 互联网

标签:子串 返回 end sub 构造 start 字符串


字符串str

  • 一个个字符组成的有序的序列,是字符的集合
  • 使用单引号、双引号、三引号引住的字符序列
  • 字符串是不可变对象,是字面常量

Python3起,字符串都是Unicode类型

 

r前缀:所有字符都是本来的意思,没有转义
f前缀:3.6开始,使用变量插值

 

索引

字符串是序列,支持下标访问。但不可变,不可以修改元素。不可超界

 

 


字符查找

  • find(sub[, start[, end]]) -> int
  •          在指定的区间[start, end),从左至右,查找子串sub
  •          找到返回正索引,没找到返回-1
  • rfind(sub[, start[, end]]) -> int
  •          在指定的区间[start, end),从右至左,查找子串sub
  •          找到返回正索引,没找到返回-1

这两个方法只是找字符串的方向不同,返回值一样。找到第一个满足要求的子串立即返回。特别注意返回值,找不到返回的是负数-1。

这两个方法效率高吗?要不要用?
这两个方法效率真不高,都是在字符串中遍历搜索,但是如果找子串工作必不可少,那么必须这么做,
但是能少做就少做。

  • index(sub[, start[, end]]) -> int
  •         在指定的区间[start, end),从左至右,查找子串sub
  •         找到返回正索引,没找到抛出异常ValueError
  • rindex(sub[, start[, end]]) -> int
  •         在指定的区间[start, end),从左至右,查找子串sub
  •         找到返回正索引,没找到抛出异常ValueError


index方法和find方法很像,不好的地方在于找不到抛异常。推荐使用find方法。

 

count(sub[, start[, end]]) -> int
在指定的区间[start, end),从左至右,统计子串sub出现的次数

 

时间复杂度
find、index和count方法都是O(n)
随着字符串数据规模的增大,而效率下降

len(string)
返回字符串的长度,即字符的个数

 





标签:子串,返回,end,sub,构造,start,字符串
来源: https://www.cnblogs.com/qiuyq/p/16529256.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有