Python扩展切片困惑

时间:2013-05-10 18:15:56

标签: python

所以我理解Python扩展了切片,它将使用[start:end:step]获取子串,并使用默认值start和end。

例如:

L = range(6)
>>>L[::2]
[0, 2, 4, 6]

好的有意义......没有启动值,所以它默认为0,然后递增2。

>>>L[::-1]
[6, 4, 2, 0]

现在这是我真的很困惑的地方。没有值,因为它应该是0,但它从列表的后面开始......?不应该是[0,6,4,2]吗?为什么step = -1给出了从列表后面开始的特殊行为?

1 个答案:

答案 0 :(得分:8)

它与其他所有内容一起被记录here(强调添加):

  

s[i:j:k]

     

如果i或j被省略或无,则它们变为“结束”值(,其结束取决于k的符号)。