python截取字符串(字符串切片)

[复制链接]
发表于 2022-10-1 12:43:41 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
python中使用[]来截取字符串,语法:
  1. 字符串[起始位置:结束位置]
复制代码
一、起始位置:结束位置

先看几个例子:
  1. s = 'python'
  2. print(s)            #输出 python 直接输出字符串
  3. #从前面截取
  4. print(s[1])         #输出 y 根据下标取字符
  5. print(s[:])         #输出 python 从头取到尾
  6. print(s[1:])        #输出 ython 从下标1开始,取到结尾
  7. print(s[0:2])       #输出 py 从下标0开始,取到下标2,顾头不顾尾,所有不包含下标2
  8. print(s[0:100])     #输出 python 结束位置即使超出字符串实际长度,也不影响正常切片操作
  9. #从后面截取
  10. print(s[-1])        #输出 n 根据下标取字符
  11. print(s[-1:-3])     #无输出,切片要遵循从左向右切的规则
  12. print(s[-3:-1])     #输出 ho 从下标-3开始,取到下标-1,顾头不顾尾,所有不包含下标-1
复制代码
这里有几项需要注意:
1、根据下标取字符时,下标不能超出索引。
2、顾头不顾尾:截取字符串时,包含头部但不包含结尾。
举例:字符串截取是按下标来截取的,我们都知道,下标是从0开始的,但上面这个例子print(s[0:2])套入上面的语法,就是从下标0开始,截取到下标为2的字符,因为不含结尾字符,故这里输出的是py,而不是pyt。
3、使用切片时,结束位置即使超出字符串实际长度也不影响切片的结果。如print(s[0:100])输出结果python。
4、从左向右:必须遵循从左向右切的规则。
 举例:print(s[-1:-3])从下标-1开始,取到下标-3,从上图可看出,从-1至-3是从右向左的顺序,故什么都取不出来。print(s[-3:-1])从左到右截取,输出ho。

二、步长

表示截取字符串每步的长度,默认为1,不能为0,语法格式:
  1. 字符串[起始位置:结束位置:步长]
复制代码
先看个图

下面开始操作:
  1. s = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
  2. #从前面截
  3. print(s[0:10:1])     #输出ABCDEFGHIJ,从左向右,取出下标0-10的值,因为顾头不顾尾,最终取出ABCDEFGHIJ
  4. print(s[0:10:2])     #输出ACEGI,因为这里的步长是2,每两位取1个字符,最终取出ACEGI
  5. print(s[0:10:3])     #输出ADGJ,同理,步长是3,每三位取1个字符,最终取出ADGJ
  6. #从后面截
  7. print(s[-20:-10:1])  #输出GHIJKLMNOP,步长默认是1,故这里步长可写可不写
  8. print(s[-10:-20:-1]) #输出QPONMLKJIH,- 表示反方向,即从右向左切,根据倒序下标,-10至-20为QPONMLKJIHG,此时右边是开头,左边是结尾,参考顾头不顾尾,最终取出QPONMLKJIH
  9. print(s[-10:-20:-2]) #输出QOMKI,同理,反方向步长为2,每两位取1个字符,最终取出QOMKI
  10. print(s[-10:-20:-3]) #输出QNKH
复制代码
 
回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表