了解负片步进值[重复]


问题内容

这个问题已经在这里有了答案

了解切片符号 (33个答案)

6年前关闭。

我在理解如果在切片时将负值放在台阶上时会发生什么问题。

我知道[::-1]反向字符串。我想知道它分配给启动和停止获取反向值的值。

我以为结束字符串将是0。并尝试

f="foobar"

f[0:5:-1]--->它没有输出。为什么?

而且我已阅读开始不应该通过停止。在负步进值的情况下也是如此吗?

谁能帮助我清除我的疑问。


问题答案:

之所以f[0:5:-1]不生成任何输出,是因为您从0开始,并试图倒数至5。这是不可能的,因此Python返回一个空字符串。

相反,您需要f[5:0:-1]返回字符串"raboo"

请注意,字符串不包含f字符。为此,您需要f[5::-1]返回字符串string "raboof"


您还问:

我已阅读开始不应该通过停止。在负步进值的情况下也是如此吗?

不,那不是真的。通常,该start值不应传递该stop值,而仅当步长为正时才可以。如果步长为负,则相反。在start必须根据需要,必须高于stop价值。