内容正文:
06基本数据类型——
字符串下
一、字符串索引和切片
字符串索引和切片:可以使用方括号运算符[] 和冒号: 来访问字符串中的某个字符或子串。例如,"hello"[0] 将返回 'h',"hello"[1:4] 将返回 'ell'。
①索引
在 Python 中,字符串可以使用方括号操作符`[]`进行索引和切片。
字符串的索引从 0 开始,也就是说,第一个字符的索引为 0,第二个字符的索引为 1,以此类推。可以使用正数或负数来访问字符串中的字符。正数索引从左到右进行,而负数索引从右到左进行。
例如,对于字符串 "hello",可以使用以下方式进行索引:
"h e l l o"
0 1 2 3 4
-5 -4 -3 -2 -1
可以使用方括号运算符 []来访问字符串中
的某个字符,例如:
s = "hello"
print(s[0]) # 输出 "h"
print(s[-1]) # 输出 "o"
②切片
还可以使用冒号 :进行切片操作。
切片可以返回一个字符串的子串,语法为 `[start:stop]`,
其中 `start` 是开始索引(包含), `stop` 是结束索引(不包含)。如果省略 `start`,将默认从第一个字符开始;如果省略 stop,将默认一直截取至字符串结尾。
s = "hello world"
print(s[0:5]) # 输出 "hello"
print(s[:5]) # 输出 "hello"
print(s[6:]) # 输出 "world"
还可以使用第三个参数 `step` 来指定步长,默认值为 1。例如:
s = "0123456789"
print(s[::2]) # 输出 "02468"
在切片中,可以使用负数索引来指定从末尾向前的偏移量,例如:
s = "hello world"
print(s[-5:-1]) # 输出 "worl"
二、查找子字符串(使用 find()或 in 关键字)
查找子字符串——使用 find() 函数:
string = "Hello, world!"
上面的代码中,使用 find() 函数在字符串 string 中查找子字符串 "world",如果该子字符串存在,则返回它在字符串中的索引值;否则返回 -1。
使用 in 关键字:
# 使用 in 关键字查找子字符串
上面的代码中,使用 in 关键字在字符串 string 中查找子字符串 "world",
如果该子字符串存在,则输出 "找到了!",否则输出 "没找到该字符串"。
三、分割和连接字符串(使用 split() 和 join() 函数)
分割字符串使用 split() 函数:
# 分割字符串
string = "1,2,3,4,5"
lst = string.split(",")
print(lst)
# 输出:['1', '2', '3', '4', '5']
上面的代码中,使用 split() 函数将字符串 string 按 , 进行分割,并将分割后的结果存储在列表变量 lst 中。
连接字符串使用 join() 函数:
# 连接字符串
lst = ['1', '2', '3', '4', '5']
string = "-".join(lst)
print(string)
# 输出:1-2-3-4-5
上面的代码中,使用 join() 函数将列表 lst 中的字符串元素以 "-" 进行连接,并将最终的结果存储在字符串变量 string 中。
四、使用格式化方法 ——format()
使用字符串的 format() 方法,可以在字符串中使用占位符 {} 表示要插入一个值,并可以指定变量的顺序或格式。
name = 'Tom'
age = 18
s= 'My name is {}. I am {} years old!'.format(name, age)
print(s)
# 输出 My name is Tom. I am 18 years old.
还可以通过在占位符中加入数字来指定填充的变量,例如{0}, {1}。也可以通过指定占位符宽度和精度来控制输出格式,例如{:2d}表示输出两位整数。
$$