Python旧版课程库
Python第 01 期 - 基础查看课程总览

029 字符串 - 截取

主要内容

  1. 字符串的截取

1. 字符串的截取

如果需要访问字符串中的一段字符,则需要对字符串进行截取。 字符串的截取,可以理解为只访问字符串的子集。 比如: 对于以下字符串str1,只要保留子曰:"学而时习之,不亦说乎?" 这一部分,其余部分全部去掉。 str1 = '子曰:"学而时习之,不亦说乎?"翻译为中文的结果是:The Master said, "Is it not a pleasure, having learned something, to try it out at due intervals?"' 使用之前学过的知识来解决上述问题,程序如下:

str1 = '子曰:"学而时习之,不亦说乎?"翻译为中文的结果是:The Master said, "Is it not a pleasure, having learned something, to try it out at due intervals?"'
i = 0
str2 = ''
while i < 16:
    str2 = str2 + str1[i]
    i + = 1
print(str2)
这节课学习使用中括号和冒号进行字符串截取的方法,格式如下: result = string[start:end:step]
  • string表示字符串或字符串变量
  • start表示要截取的第一个字符所在的索引(截取时包含该字符)。如果不指定,默认为 0,也就是从字符串的开头截取
  • end表示要截取的最后一个字符所在的索引(截取时不包含该字符)。如果不指定,默认为字符串的长度
  • step表示间隔或步长。指的是从 start 索引处的字符开始,每 step 个距离获取一个字符,直至 end 索引处的字符。 step 默认值为 1,当省略该值时,最后一个冒号也可以省略
  • result为一个变量名,用来存储截取的结果
  • 用这节课的方法来解决上述问题,程序如下:
    
    str1 = '子曰:"学而时习之,不亦说乎?"翻译为中文的结果是:The Master said, "Is it not a pleasure, having learned something, to try it out at due intervals?"'
    str2 = str1[0:16]
    print(str2)
    
    用字符串截取的方法截取奇数索引的字符,程序如下:
    
    str1 = '123456789'
    str2 = str1[1:len(str1):2]  #或者  str2 = str1[1::2]
    print(str2)
    
    用字符串截取的方法截取偶数索引的字符,程序如下:
    
    str1 = '123456789'
    str2 = str1[0:len(str1):2]  #或者  str2 = str1[::2]
    print(str2)
    

    3. 小结

  • 字符串截取的方法格式:result = string[start:end:step]
  • OJ训练题

    1、【入门】字符串对比 - ★
    2、【入门】出现次数最多的小写字母 - ★
    3、【入门】判断是否构成回文 - ★
    4、【基础】找字典码最小的字符串 - ★★
    5、【基础】趣味填空 - ★★★