python中字符串切片取奇数_python 字符串切片

python 的字符串切片:

可以正向切片,也可以反向切片,并且能够偶数切片,奇数切片( 同时都是支持正向反向的 )

先说索引,python的字符串(数组也是这样),索引默认从0开始,如果是倒序切片,则最后一个字符串(数组的最后一个元素)的索引是  -1。

当索引为负数的时候,计数从字符串的右边开始。

切片的基本模式是:

str[start:end:step]

其中,任意一项都可以为空。

索引的结束值,不能被取到,被取到的最后一个值是 索引 - 1 对应的元素( 其实因为是索引下标从0 开始计数的原因 )

1. 省略起始索引的话,如果结束索引是大于0的数,表示起始索引为0

即  str[:n]  =  str[0:n]

>>> str = 'abcdefg'

>>> str[:1]

'a'

>>> str[0:1]

'a'>>> str[:3]

'abc'

>>> str[0:3]

'abc'

2. 省略结束索引的话,如果起始索引是大于0的。表示结束索引是最后一个,这种情况是不同于结束索引等于>>> str[2:]

'cdefg'

>>> str[2:7]

'cdefg'

3. 省略step的话,又省略end的话,step默认为1 ,即正向切片,省略end,而start为正的情况,前面已经说过,表示end为最后一个字符。

>>> str[2:]

'cdefg'

>>> str[2::1]

'cdefg'

3.1 如果step 为负值,表示反向切片,或者叫倒序切片

>>> str = 'abcdefg'

>>> str[2::-1]

'cba'

3.1.1 在 倒序切片的时候,如果end或者start哪个省略了,前文已经表述。

3.1.2  如果想做 奇数切片,那么就要在step的选择上做文章:

>>> str = 'abcdefg'

>>> str[::2]

'aceg'

4. 现在说明 start 或者 end 为负的情况:

4.1

这个需要跟 step结合起来说,如果step为正(省略step的话,默认就是正,为1)

这种情况,就是从start 开始对应的位置开始,向后,取字符,一直到字符串结束。

>>> str = 'abcdefg'

>>> str[-3::]

'efg'

>>> str[-6::]

'bcdefg'

>>> str[-6:]

'bcdefg'

4.2  如果step 为负的话,当start也为负的时候,

step为-1 表示 反向切片,即倒序切片。而start为负数表示,从负数索引对应的那个元素开始取元素

# -6 对应b ,-1 表示反向切片

>>> str = 'abcdefg'

>>> str[-6::-1]

'ba'

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值