当前位置: 代码迷 >> 综合 >> Python学习——字符串切片步长为负值时
  详细解决方案

Python学习——字符串切片步长为负值时

热度:15   发布时间:2024-02-21 09:40:29.0

使用[M: N: K]根据步长对字符串切片

<字符串>[M: N],M缺失表示至开头,N缺失表示至结尾

"〇一二三四五六七八九十"[:3] 结果是    "〇一二"

<字符串>[M: N: K],根据步长K对字符串切片

"〇一二三四五六七八九十"[1:8:2] 结果是    "一三五七"

"〇一二三四五六七八九十"[::-1] 结果是    "十九八七六五四三二一〇"

K为正时从左向右切片,K为负值时从右向左切片
K为正时,从左向右切片,如果M>N,则返回空
K为负时,从右向左切片,如果M<N,则返回空

对于K为负值时的情况,记住从右向左切片即可。
>>> s='0123456789'
>>> s[::-1]  # 从右向左,取所有
'9876543210'
>>> s[::-2]  # 从右向左,步长为2取值
'97531'
>>> s[:2:-1]  # 从右向左,从'开头'(s的末尾)到索引为2的切片,索引2不取
'9876543'
>>> s[1:2:-1] # 从右向左,1<2,返回空
''
>>> s[2:1:-1] # 从右向左,从索引2到索引1的切片,索引1不取
'2'
>>> s[2::-1] # 从右向左,从索引2到‘结尾’(s的开头)的切片,索引1不取
'210'
>>> s[-1:-5:-2]  # 从右向左,从索引-1到索引-5的切片,索引-5不取
'97'
>>> 

  相关解决方案