了解负值切片步长值
问题描述
我在理解在切片的情况下将负值设置为步长时会发生什么情况时遇到问题。
我知道[::-1]
反转字符串。我想知道它为开始和停止分配了什么值以获得反转。
我以为字符串的末尾应该是0。并尝试
f="foobar"
f[0:5:-1]--->
没有输出。为什么?
并且我已经阅读了"开始不应该通过停止"。在步长值为负的情况下也是这样吗?
有人能帮我消除疑虑吗?
Python
f[0:5:-1]
不生成任何输出的原因是您从0开始,并尝试倒数到5。这是不可能的,因此推荐答案返回空字符串。
相反,您需要f[5:0:-1]
,它返回字符串"raboo"
。
f
字符。为此,您需要f[5::-1]
,它返回字符串"raboof"
。
您还问:
我已阅读开始不应通过停止。在步长值为负的情况下也是这样吗?
不,这不是真的。通常,start
值不应传递stop
值,但仅当步骤为正时。如果步长为负,则反之亦然。根据需要,start
必须高于stop
值。
相关文章