字符串构造
字符串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)
返回字符串的长度,即字符的个数
连接
+加号
将2个字符串连接起来
返回一个新的字符串
join方法
sep.join(iterable)
使用指定字符串作为分隔符,将可迭代对象中字符串使用这个分隔符拼接起来
可迭代对象必须是字符串
返回一个新的字符串

本文来自博客园,作者:45645+56,转载请注明原文链接:https://www.cnblogs.com/qiuyq/p/16529256.html

浙公网安备 33010602011771号