python逆序截取

前言

一开始不懂,然后google了一下.
满屏的”搞不明白”.
这里写图片描述

正文

所谓逆序截取,就是先截取,再进行逆序.
为什么不叫截取逆序?可能是因为”逆序截取”念着更顺嘴吧.
官方名字:Extended Slices

格式: str[begin:end:step]
str,字符串.
begin,起始位置.
end,结束位置.
step,间隔.s不等于0.默认为1
注:
区间为左闭右开.
step>0,表示从左往右.
step<0,表示从右往左.

例:

str = 'abcdefghijklmn'

每个字符的编号如下:
这里写图片描述

当step>0时,begin必须在end左边.

默认值

当step>0时,
begin默认为0
end默认为-1,且包含-1.即左闭右闭区间.

str[1:7:1]

解析:
begin=1
end=7
step=1
step>0,所以从左往右
区间为左闭右开,所以截取到的字符串为’bcdefg’.
因为step为1,所以,最后输出为:’bcdefg’

str[:11:2]

解析:
begin=0
end=11
step=2
step>0,所以从左往右
区间为左闭右开,所以截取到的字符串为’abcdefghijk’.
因为step为2,所以,最后输出为:’acegik’

str[-8:11:3]

解析:
begin=-8
end=11
step=3
step>0,所以从左往右
区间为左闭右开,所以截取到的字符串为’ghijk’.
因为step为3,所以,最后输出为:’gj’

当step<0时,begin必须在end右边.

默认值

当step<0时,
begin默认为-1
end默认为0,且包含0.即左闭右闭区间.

str[:-11:-1]

解析:
begin=-1
end=-11
step=-1
step<0,所以从右向左
区间为左闭右开,所以截取到的字符串为’nmlkjihgfe’.
因为step为1,所以,最后输出为:’nmlkjihgfe’

str[-3::-4]

解析:
begin=-3
end=0
step=-4
step<0,所以从右向左
区间为左闭右闭,所以截取到的字符串为’lkjihgfedcba’.
因为step为4,所以,最后输出为:’lhd’

str[::-1]

解析:
begin=-1
end=0
step=-1
step<0,所以从右向左
区间为左闭右闭,所以截取到的字符串为’nmlkjihgfedcba’.
因为step为1,所以,最后输出为:’nmlkjihgfedcba’
该命令就是所谓的逆序.

练习

请写出以下命令的输出

str = '0123456789'
str[:-1:2]
str[:0:-3]
str[-8:8:2]
str[-2:2:-2]
str[:-1:]
str[::]
str[-2::-1]

官方文档

https://docs.python.org/2/whatsnew/2.3.html#extended-slices

  • 17
    点赞
  • 41
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值