在n处的Python切片列表并采用下一个x元素?

时间:2015-05-12 14:51:12

标签: python list slice

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

2 个答案:

答案 0 :(得分:1)

你可以这样做

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

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

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

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

答案 1 :(得分:1)

你可以做两个切片。

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

它只有3个额外的字符,虽然它在计算上相对昂贵,因为需要为第二个切片操作创建额外的中间对象。

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