Python字符串支持切片以创建子字符串。请注意,Python字符串是不可变的,切片会从源字符串创建一个新的子字符串,原始字符串保持不变。
Python切片字符串
Python切片字符串的语法是:
str_object[start_pos:end_pos:step]
切片从起始位置索引(包括)开始,到结束位置索引(不包括)结束。步长参数用于指定从起始到结束索引的步长。Python字符串切片始终遵循这个规则:s[:i] + s[i:] == s 对于任何索引‘i’。所有这些参数都是可选的 – 起始位置的默认值是0,结束位置的默认值是字符串的长度,步长的默认值是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开始,因此起始位置为2指的是字符串中的第三个字符。
使用切片反转字符串
我们可以通过将步长值设为-1来使用切片反转字符串。
s = 'HelloWorld'
reverse_str = s[::-1]
print(reverse_str)
dlroWolleH
让我们看一些使用步骤和负索引值的其他示例。
s1 = s[2:8:2]
print(s1)
Output: loo
这里的子字符串包含索引 2、4 和 6 处的字符。
s1 = s[8:1:-1]
print(s1)
Output: lroWoll
这里的索引值是从末尾到开头取的。子字符串是从末尾的索引 1 到 7 处创建的。
s1 = s[8:1:-2]
print(s1)
Output: lool
Python 切片也适用于负索引,此时,起始位置被排除在子字符串之外,而结束位置被包含在内。
s1 = s[-4:-2]
print(s1)
Output: or
Python 字符串切片可以优雅地处理超出范围的索引。
>>>s = 'Python'
>>>s[100:]
''
>>>s[2:50]
'thon'
这就是关于 Python 字符串切片函数创建子字符串的全部内容。
您可以从我们的 GitHub 存储库中查看完整的 Python 脚本和更多 Python 示例。
Source:
https://www.digitalocean.com/community/tutorials/python-slice-string