了解负片步进值[重复]
问题内容:
这个问题已经在这里有了答案 :
了解切片符号 (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
价值。