当前位置:嗨网首页>书籍在线阅读

04-字符串索引和切片

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

6.1.2 字符串索引和切片

字符串像列表一样,使用索引和切片。可以将字符串'Hello, world!'看成一个列表,字符串中的每个字符都是一个项,有对应的索引:

'     H   e   l    l    o    ,         w    o    r    l     d     !    '
      0   1    2    3    4    5    6    7    8    9   10    11    12

字符计数包含了空格和感叹号,所以 'Hello, world!' 有13个字符,H的索引是0,!的索引是12。

在交互式环境中输入以下代码:

>>> spam = 'Hello, world!'
>>> spam[0]
'H'
>>> spam[4]
'o'
>>> spam[-1]
'!'
>>> spam[0:5]
'Hello'
>>> spam[:5]
'Hello'
>>> spam[7:]
'world!'

如果指定一个索引,你将得到字符串在该处的字符。如果用一个索引和另一个索引指定一个范围,开始索引将被包含,结束索引则不包含。因此,如果 spam 变量是 'Hello world!',那么spam[0:5] 就是 'Hello' 。通过 spam[0:5] 得到的子字符串将包含 spam[0]spam[4] 的全部内容,而不包含索引5处的逗号和索引6处的空格。这类似于 range(5)for 循环到 5 (但不包括 5 )。

请注意,字符串切片并没有修改原来的字符串。可以从一个变量中获取切片,记录在另一个变量中。在交互式环境中输入以下代码:

>>> spam = 'Hello, world!'
>>> fizz = spam[0:5]
>>> fizz
'Hello'

通过切片并将结果子字符串保存在另一个变量中,就可以同时拥有完整的字符串和子字符串,便于快速、简单地访问数据。