This question already has answers here:
Understanding slice notation
(32个答案)
5年前关闭。
我在理解如果在切片时将负值放在台阶上会发生什么,这是一个问题。
我知道
我以为结束字符串将是0。并尝试
而且我已经阅读开始不应该通过停止。步进值为负时也是如此吗?
谁能帮助我清除我的疑问。
(32个答案)
5年前关闭。
我在理解如果在切片时将负值放在台阶上会发生什么,这是一个问题。
我知道
[::-1]
反转字符串。我想知道它为启动和停止分配的值是多少?我以为结束字符串将是0。并尝试
f="foobar"
f[0:5:-1]--->
它没有输出。为什么?而且我已经阅读开始不应该通过停止。步进值为负时也是如此吗?
谁能帮助我清除我的疑问。
最佳答案
f[0:5:-1]
不生成任何输出的原因是因为您从0开始,并试图倒数至5。这是不可能的,因此Python返回一个空字符串。
相反,您需要f[5:0:-1]
,它返回字符串"raboo"
。
请注意,该字符串不包含f
字符。为此,您需要f[5::-1]
,它返回字符串"raboof"
。
您还问:
我已阅读开始不应该通过停止。步进值为负时也是如此吗?
不,那不是真的。通常,start
值不应超过stop
值,而仅当步长为正时。如果步长为负,则相反。 start
必须根据需要大于stop
值。
09-17 12:47