字符串像列表一样,使用下标和切片。可以将字符串'Hello world!'看成是一个
列表,字符串中的每个字符都是一个表项,有对应的下标。
' H e l l o w o r l d ! ' 0 1 2 3 4 5 6 7 8 9 10 11
字符计数包含了空格和感叹号,所以'Hello world!'有 12 个字符,H 的下标是 0,!
的下标是 11。在交互式环境中输入以下代码:
>>> spam = 'Hello world!'
>>> spam[0]
'H'
>>> spam[4]
'o'
>>> spam[-1]
'!'
>>> spam[0:5]
'Hello'
>>> spam[:5]
'Hello'
>>> spam[6:]
'world!'
如果指定一个下标,你将得到字符串在该处的字符。如果用一个下标和另一个下标指定一个范围,开始下标将被包含,结束下标则不包含。因此,如果 spam 是'Hello
world!',spam[0:5]就是'Hello'。通过 spam[0:5]得到的子字符串,将包含 spam[0]到 spam[4]的全部内容,而不包括下标 5 处的空格。
请注意,字符串切片并没有修改原来的字符串。可以从一个变量中获取切片,记录在另一个变量中。在交互式环境中输入以下代码:
>>> spam = 'Hello world!'
>>> fizz = spam[0:5]
>>> fizz
'Hello'
通过切片并将结果子字符串保存在另一个变量中,就可以同时拥有完整的字符串和子字符串,便于快速简单的访问。