python3num='0123456789,num「:6:-1」=gt; '987'?「1:6:-1」为空
生活随笔
收集整理的这篇文章主要介绍了
python3num='0123456789,num「:6:-1」=gt; '987'?「1:6:-1」为空
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
原问题:
python3 num='0123456789',num[:6:-1]==>'987'为什么? 又为何num[1:6:-1]==>为空?切片操作
sequence[start?step] ( [起点索引:终点索引:步长] )
对一个具有索引的有序元素集合进行切片,获得从起点到终点范围内相隔每步长的元素。
需要注意的是:
- 起点是包含在范围内的,终点则不包含
- 步长可以为负数,当为负数时则表示相反反向,即索引不断减小
- 在步数没被申明时默认为1;在步长为正时起点没被申明则默认为第一个元素的位置索引0,在步长为负时起点没被申明则默认最后一个元素的位置索引-1
回答上题:
num=‘0123456789’
num[:6:-1]
根据上述第三条注意, num[:6:-1] 和 num[-1:6:-1]等价
这条命令是让计算机从num中找到从索引-1(包含-1)以相反方向每次一步移动直到到索引6(不包含6)范围内的所有元素。
那么从索引-1字符’9’开始,然后向相反方向移动一步,则为索引-1-1=-2,即倒数第二个字符’8’,循环直至索引6(等价于索引-4),发现元素’987’。
num=‘0123456789’
num[1:6:-1]
这个则更好理解了,从num中找到从索引1(包含1)以相反方向每次移动一步直到索引6(不包含6)范围内的所有元素。
问题是索引1是比索引6要小的索引,所以无论反向移动多少步(索引1不断减去1,也就是1-1-1-1-…都不会找到索引6),所以这条命令的答案也就是空集’’
总结
以上是生活随笔为你收集整理的python3num='0123456789,num「:6:-1」=gt; '987'?「1:6:-1」为空的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: 1024-程序员节快乐!给大家发福利啦!
- 下一篇: 如何评价Python3.8新出的“:=”