Python切片字符串
时间:2020-02-23 14:43:19 来源:igfitidea点击:
Python字符串支持切片以创建子字符串。
请注意,Python字符串是不可变的,切片会根据源字符串创建一个新的子字符串,而原始字符串将保持不变。
Python字符串切片
Python slice字符串语法为:
str_object[start_pos:end_pos:step]
切片以start_pos索引(包括)开始,以end_pos索引(排除)结束。
step参数用于指定从开始索引到结束索引执行的步骤。
Python字符串切片始终遵循以下规则:s [:i] + s [i:** == s用于任何索引" i"。
所有这些参数都是可选的– 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] print(s1)
输出:loo
这里的子字符串包含来自索引2,4和6的字符。
s1 = s[8:1:-1] print(s1)
输出:lroWoll
这里的索引值是从头到尾的。
子字符串从头到尾由索引1到7组成。
s1 = s[8:1:-2] print(s1)
输出:
Python slice也可以使用负索引,在这种情况下,排除start_pos并将end_pos包含在子字符串中。
s1 = s[-4:-2] print(s1)
输出:or
Python字符串切片可正常处理超出范围的索引。
>>>s = 'Python' >>>s[100:] '' >>>s[2:50] 'thon'