python数据结构-字符串
什么是字符串?
字符串是在任何编程语言中都非常重要的一种数据类型。
在 Python 中,字符串是由引号包裹的任意字符组成的不可变序列,用于表示文本类型数据。
字符串定义
字符串可以通过使用 单引号 或 双引号 或 三引号 来定义,用于表示文本信息,如姓名、消息等。
# 使用单引号定义字符串: name = 'Alice' # 使用双引号定义字符串: message = "Hello, world!" # 使用三引号定义字符串 sql_string = """select * from user where name='tom';"""转义字符
转义字符在字符串中用于表示一些特殊字符或序列,以及插入难以直接输入的字符。
常见的转义字符包括:\n 表示换行符,\t 表示制表符,\" 表示双引号,\' 表示单引号,\\ 表示反斜杠。
通过使用转义字符,可以在字符串中插入特殊字符或表示这些无法直接输入的内容。
message = "Hello\nWorld!" print(message) # output: # Hello # World!字符串下标
下标是指从 0 开始的数字编号,也称为索引。
在字符串中,每一个字符都会对应一个下标,通过下标可以获取字符串中该下标对应的字符
语法格式:字符串对象[下标]
s = "hello" print(s[0]) print(s[3]) print(s[5]) # 该行代码会报错注意: 下标在使用时,不能大于等于该字符串所有字符的个数,否则会产生下标越界错误。
字符串操作
字符串是在每一门编程语言中都非常重要的数据类型,同时对于字符串也提供了丰富的操作函数。
下面将 Python 中提供的字符串常用函数进行分类讲解
注意:
所有的字符串操作,都不会影响原字符串本身,每次操作后都会得到一个操作后的新字符串对象
统计查找替换类
len()用来获取参数字符串的字符个数,该函数并不是字符串类型特有的,而是一个通用函数重点掌握
格式:
len(obj)length = len("Hello") print(length) length = len("Hello World") print(length)
count()返回str在string里面出现的次数,如果start或者end指定则返回指定范围内str出现的次数格式:
count(str, start, end),注意范围区间为[start, end)s = "hello world hello Python" n = s.count("o") print(n) n = s.count("O") print(n) n = s.count("or") print(n) n = s.count("o",10,30) print(n)
index()检测sub(子字符串)是否包含在string中,如果start和end指定范围,则检查是否包含在指定范围内,如果有则返回第一次出现sub(子字符串)的索引值,否则抛出一个异常格式:
index(sub, start, end),注意范围区间为[start, end)s = "Hello" print(s.index("l")) print(s.index("l",0,3)) # 区间使用下标位置,左闭右开区间 print(s.index("k"))
rindex()作用同index(),查找子串时从右侧查找,若找不到会抛出一个异常格式:
rindex(sub, start, end),注意范围区间为[start, end)s = "Hello" print(s.rindex("l")) # 3 print(s.rindex("l",0,3)) #2 print(s.rindex("k")) #异常 s = "Hello world" print(s.rindex("l")) # 9 print(s.rindex("l",0,5)) # 3 print(s.rindex("k")) #异常
find()检测sub是否包含在string中,如果start和end指定范围,则检查是否包含在指定范围内,如果是返回第一次出现的索引值,否则返回-1重点掌握
格式:
find(sub, start, end),注意范围区间为[start, end)s = "Hello" print(s.find("l")) # 2 print(s.find("l",0,3)) # 2 print(s.find("k")) # -1
rfind()作用同find(),查找子串时从右侧查找,若找不到返回-1格式:
rfind(sub, start, end),注意范围区间为[start, end)s = "Hello world" print(s.rfind("l")) # 9 print(s.rfind("l",0,5)) # 3 print(s.rfind("k")) # -1
replace()把string中的old替换成new,如果max指定,则替换不超过max次.重点掌握
格式:
replace(old, new, max)s = "Hello Hello Hello" print(s.replace("ll","LL")) #HeLLo HeLLo HeLLo print(s.replace("l","L",4)) #HeLLo HeLLo Hello
字符串判断类
startswith()检查字符串是否是以prefix开头,是则返回True,否则返回False。如果start和end指定值,则在指定范围内检查.重点掌握
格式:
startswith(prefix, start, end),注意范围区间为[start, end)url = "https://www.baidu.com" print(url.startswith("https://")) print(url.startswith("https://", 0, 3)) print(url.startswith("https://", 5, 30))
endswith()检查字符串是否是以suffix结束,是则返回True,否则返回False。如果start和end指定值,则在指定范围内检查.重点掌握
格式:
endswith(suffix, start, end),注意范围区间为[start, end)url = "https://www.bai
