python – 结束索引为0的切片运算符

前端之家收集整理的这篇文章主要介绍了python – 结束索引为0的切片运算符前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
参见英文答案 > Understanding Python’s slice notation30个
a='0123456789'

>>> a
'0123456789' 

>>> a[1:-6:1] # working as expected
'123'

>>> a[2:-1:-1] # i was expecting '210' as answer based on start index=2 end index=0
''

请帮助理解第二个切片操作符如何返回任何内容

解决方法@H_502_8@
始终通过从len(序列)中隐式减去转换开始和结束的负指数.所以[2:-1:-1]转换为[2:len(a)-1:-1]或[2:9:-1],其英文读作“从索引2开始,并向后退一个,直到你达到或低于指数9“.

由于从索引2开始,您已经处于或低于9,并且切片立即结束.

如果要从索引切换回字符串的开头,则省略结束索引(对于负片,这意味着将继续,直到“字符串开头”):

a[2::-1]

或明确地将其提供为None,这是省略停止最终使用隐式:

a[2:None:-1]

猜你在找的Python相关文章