Python 在 n 处切片列表并获取下一个 x 元素?

Python slice list at n and take the next x elements?

我无法 Google 这个问题,我想在索引 2 处分割 [1,2,3,4,5,6] 并获取接下来的 3 个元素(即 [3,4,5])。符号 list[start:stop:step] 实际上不允许这样做,或者我不知道某些 Pythonic 方式?

你可以做到

>>> l[2:5]
[3, 4, 5]

或者更一般地说,如果您知道切片的起始索引和长度

def sliceToLength(l, at, size):
    return l[at: at+size]

>>> sliceToLength(l, 2, 3)
[3, 4, 5]

你可以做 两个 切片。

>>> l = [1, 2, 3, 4, 5, 6]
>>> l[start:][:length]
[3, 4, 5]

它只是增加了 3 个字符,尽管它在计算上相对昂贵,因为需要为第二个切片操作创建一个额外的中间对象。

(如果这是 Perl,:][: 可以被认为是 pseudo-operator。)