- 使用切片表示法
- 使用slice() 函数
1、使用切片表示法
这是 Python 中最常见、最简洁的字符串切片方法。
切片表示法的语法如下:
str[start:stop:step] |
上述切片表示法中,:
- start表示切片操作的起始位置。
- stop是切片应该结束的索引。停止索引是排他的,这意味着切片不包含该索引。
- step表示切片时各个索引之间的增量;例如,步骤 2 将占用所有其他字符。这是一个可选参数。
有一个字符串,并且您想要提取其中的一部分:
str = "Hello, world!" |
输出:
Hello
反转字符串
可以使用切片符号来反转字符串。通过将step参数设置为-1来做到这一点,这意味着“向后退一个元素”。
str = "Hello, world!" |
输出:
!dlrow,olleH |
获取每个第 n 个字符
使用 step 参数来获取字符串中的每第 n 个字符。
例如,以下是获取每隔一个字符的方法:
str = "Hello, world!" |
输出:
Hlo ol!
删除最后一个字符
str = "Hello, world!" |
上面的代码将从字符串中删除最后一个字符“ !”。
获取最后 n 个字符
如果要从字符串中获取最后n 个字符,可以使用负索引和切片。
下面的代码演示了这个方法:
str = "Hello, world!"
print(str[-5:])
输出:orld!
2、使用 slice() 函数对字符串进行切片
slice ()函数是一个内置函数,它使用切片构造函数创建切片对象。它可用于对字符串(或列表,或任何其他序列类型)进行切片。
slice ()函数采用与切片符号相同的开始、停止和步骤参数。
切片函数的语法如下:
slice(start, stop, step)
示例 1:提取子字符串
假设您有一个格式为HH:MM:SS 的时间戳,但您只对小时和分钟感兴趣。您可以使用slice()函数提取时间戳的特定部分。
下面的代码演示了这个方法:
timestamp = "12:30:45" |
上面的代码将提取字符串的前五个字符,即“12:30”
示例 2:反转字符串
反转字符串在多种应用中都很有用。
例如,在DNA测序中,经常需要DNA序列的反向互补。
以下是该方法的示例:
dna_sequence = "AGTCCG"
slice_obj = slice(None, None, -1)
reversed_dna_sequence = dna_sequence[slice_obj]
print(reversed_dna_sequence)
输出:GCCTGA
示例 3:删除最后一个字符
当处理要忽略最后一个字符的字符串时,这会很方便。
例如,有时传递的数据带有尾随逗号或您想要删除的其他标点符号。
data = "123,456,789,"
slice_obj = slice(None, -1)
cleaned_data = data[slice_obj]
print(cleaned_data)
输出:123,456,789
示例 4:获取最后 'n' 个字符
这对于许多任务很有用。例如,如果您有一个文件名列表,并且想要获取文件扩展名(通常是最后三个字符),则可以使用此方法。
下面的代码演示了这个方法:
filename = "image.png" |
上面的代码将在控制台打印“png”: