Python扩展切片困惑



所以我理解Python已经扩展了切片,它将用[start:end:step]抓取子字符串,默认值为开始和结束。

例如:

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

好吧,有道理…start没有值,所以默认为0,然后加2。

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

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

它与这里的其他内容一起记录(强调):

s[i:j:k]

如果i或j被省略或为None,则它们成为"结束"值(其结束取决于k的符号)。

最新更新