Python字符串切片完全指南:从入门到精通
Python字符串支持切片操作以创建子字符串。需要注意的是,Python字符串是不可变的,切片操作会从源字符串创建一个新的子字符串,而原始字符串保持不变。
Python 切片字符串
Python切片字符串的语法是:
str_object[start_pos:end_pos:step]
切片从 start_pos 索引(包括)开始,到 end_pos 索引(不包括)结束。step 参数用于指定从起始索引到结束索引的步长。Python 字符串切片始终遵循以下规则:对于任何索引’i’,s[:i] + s[i:] == s。所有这些参数都是可选的 – start_pos 的默认值为 0,end_pos 的默认值为字符串的长度,step 的默认值为 1。让我们看一些简单的字符串切片函数示例来创建子字符串。
s = 'HelloWorld'
print(s[:]) # 打印整个字符串
print(s[::]) # 同样打印整个字符串
输出:
HelloWorld
HelloWorld
请注意,由于没有提供任何切片参数,子字符串等于原始字符串。让我们看一些更多字符串切片的例子。
s = 'HelloWorld'
first_five_chars = s[:5] # 获取前五个字符
print(first_five_chars)
third_to_fifth_chars = s[2:5] # 获取从第三个字符到第五个字符
print(third_to_fifth_chars)
结果:
Hello
llo
请注意索引值从0开始,因此 start_pos 为2指的是字符串中的第三个字符。
使用切片操作反转一个字符串
我们可以通过使用步长值为-1来反转一个字符串。
s = 'HelloWorld'
reverse_str = s[::-1] # 反转字符串
print(reverse_str)
输出:
dlroWolleH
让我们看看一些其他使用步长和负索引值的例子。
s1 = s[2:8:2] # 从索引2开始,到索引8结束,步长为2
print(s1)
输出:
loW
这里的子字符串包含索引2、4和6处的字符。
s1 = s[8:1:-1] # 从索引8开始,到索引1结束,步长为-1(反向)
print(s1)

s1 = s[8:1:-2] # 从索引8开始,到索引1结束,步长为-2
print(s1)

s1 = s[-4:-2] # 使用负索引,从倒数第四个字符到倒数第二个字符
print(s1)

>>> s = 'Python'
>>> s[100:] # 起始索引超出字符串长度,返回空字符串
''
>>> s[2:50] # 结束索引超出字符串长度,只到字符串末尾
'thon'
这就是用Python的字符串切片函数创建子字符串的全部内容。
您可以从我们的GitHub代码库中检查完整的Python脚本和更多Python实例。