📜  字符串切片 - Python (1)

📅  最后修改于: 2023-12-03 15:09:21.523000             🧑  作者: Mango

字符串切片 - Python

在 Python 中,字符串也是序列类型的数据,可以像列表一样使用切片操作来获取子字符串。

使用方法

字符串切片的语法为:

string[start:stop:step]

其中的参数含义如下:

  • start:起始索引(包括该位置的字符),默认为 0。
  • stop:结束索引(不包括该位置的字符),默认为字符串长度。
  • step:步长,即每次跨过的字符数量,默认为 1。
基本用法

假设有一个名为 s 的字符串:

s = 'Hello World!'

我们可以使用以下代码来获取 s 的子字符串:

s[0:5]  # => 'Hello'
s[6:12] # => 'World!'
s[:5]   # => 'Hello'(等价于 s[0:5])
s[6:]   # => 'World!'(等价于 s[6:12])

如上所示,可以使用 string[start:stop] 的形式来获取原字符串的一个子字符串,这个子字符串包括从 startstop-1 的所有字符。如果 start 没有指定,则默认从第一个字符开始;如果 stop 没有指定,则默认到最后一个字符结束。

逆序切片

如果使用负数来指定 startstop 参数,则可以实现从字符串的末尾开始切片的效果:

s[-6:-1] # => 'World'
s[-6:]   # => 'World!'
s[:-7]   # => 'Hello '

上面的例子说明,当 startstop 参数为负数时,它们的值会被解释为字符串的下标。例如,s[-1] 表示字符串的最后一个字符。

步长切片

步长切片指的是对字符串的每隔一定距离获取一个子字符串。可以设置 step 参数来实现这一功能:

s[::2] # => 'HloWrd'
s[::-1] # => '!dlroW olleH'

在上面的例子中,s[::2] 表示每隔一个字符获取一个子字符串,因此会输出 HloWrds[::-1] 表示倒序遍历字符串,并输出 !dlroW olleH

小结

字符串切片是 Python 中常用的字符串操作之一,在处理字符串时非常方便。注意,在进行字符串切片时,源字符串本身不会发生变化,而是得到一个新的字符串,因此需要将其赋值给一个变量才能使用。