字符串操作
我们可以对字符串(字符序列)执行各种操作,例如切片、成员检查、连接和重复。
切片 (Slicing)
在 Python 中,可以使用索引轻松访问字符串中的字符。
python
>>> s = "Hello"
>>> s[1]
'e'
Python 还提供了一种从字符串访问子字符串的方法。这个子字符串称为切片 (slice),可以使用切片运算符 [n:m]
来获取,它返回字符串中从开始索引 (n
) 到结束索引 (m
) 的部分,包括第一个但不包括最后一个。
python
>>> s = "Hello"
>>> s[1:3]
'el'
如果省略开始索引 (n
),则 n
的默认值设置为 0
,表示字符串的开头。如果省略结束索引 (m
),则子字符串在字符串的最后一个字符处结束。
python
>>> s = "Hello"
>>> s[:3]
'Hel'
>>> s[3:]
'lo'
>>> s[:]
'Hello'
切片运算符也支持负索引。
python
>>> s = "Hello"
>>> s[-4:-2]
'el'
在上面的示例中,-4
等效于 len(s) - 4 = 5 - 4 = 1
,-2
等效于 5 - 2 = 3
。因此,s[-4:-2]
与 s[1:3]
相同。
切片运算符还允许使用第三个索引,称为步长 (step),它允许用户跳过字符。
python
>>> s = "Hello"
>>> s[0:5:2]
'Hlo'
在上面的示例中,子字符串从字符串的开头开始,步长为 2
跳过 e
,并在最后一个字符处结束,再次跳过第 4 个字符 l
。
成员检查 (Membership)
in
和 not in
运算符可用于确定子字符串是否存在于字符串中。
python
>>> s = "Hello"
>>> "lo" in s
True
>>> "lp" not in s
True
连接 (Concatenation)
+
运算符可用于连接两个字符串。
python
>>> s1 = "Hello"
>>> s2 = "Python"
>>> s1 + s2
'HelloPython'
>>> s1 + "World"
'HelloWorld'
重复 (Repetition)
*
运算符将字符串重复整数操作数指定的次数。
python
>>> s = "Hello"
>>> s*3
'HelloHelloHello'